Homebrew Citra - Unofficial \ Chinese builds discussion

  • Thread starter Thread starter masaki88
  • Start date Start date
  • Views Views 3,221,248
  • Replies Replies 9,660
  • Likes Likes 16
Texcache builds
Branch if anyone wants to DIY.
Nearly fixes Luigi's Mansion Dark Moon's scaling issue though seems to be a bit buggy with a line going through and then lower res quality around that area. The game also is at 5fps still but I suppose it falls back to the interpreter or something.

oUp1Ffj.png

rKx7Bb9.png

uDiA7Ic.png
 
Last edited by KillzXGaming,
that build crash to me at open it, maybe because the "avx" extension :P

very nice insanity fast :o

Does it require AVX or AVX2? I'm not at home to test right now, but I have been trying to build phanto-m's fix for this entire past week and pulling my hair out. My 3770k doesn't support AVX2, so if any kind soul could build a non-AVX2 version I'd be eternally grateful.

I know it'll be buggy, I just want to toy around with it. My builds have been successful, but haven't included the speed/upres fixes for titles like MSR. Yesterday somebody pointed out (on another forum) that I may have not been pulling from the texcache rebase tree. Whoops :/
 
Does it require AVX or AVX2? I'm not at home to test right now, but I have been trying to build phanto-m's fix for this entire past week and pulling my hair out. My 3770k doesn't support AVX2, so if any kind soul could build a non-AVX2 version I'd be eternally grateful.

I know it'll be buggy, I just want to toy around with it. My builds have been successful, but haven't included the speed/upres fixes for titles like MSR. Yesterday somebody pointed out (on another forum) that I may have not been pulling from the texcache rebase tree. Whoops :/

This actually does include an AVX1 variant, in case anybody skims through the forum and is curious. Damn this is great!
 
The avx can be done, from some un known reason they removed this line in the Main CmakeList.txt ... ?

Code:
if (MINGW)
add_definitions(-DMINGW_HAS_SECURE_API)

Line here..

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -msse2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2")

It early in the morning, so will have it up in the bit, after a few brews tea / toast lol.

The code just needs adding back, with change lines from, -msse and msse2 to -maxv and -mavx are -mavx2
 
Last edited by drwhojan,
  • Like
Reactions: NiagA
Texcacth don't like to be compiled under mingw, fine on MSVC build

Also boost libs need updating, with folder range and new range.cpp

@jroweboy this is your expertise!..

Error Log
Code:
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:153:15: error: e                                              xplicit specialization in non-namespace scope 'class FunctionTable<size>'
     template <>
               ^
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:154:23: error: t                                              emplate-id 'FillArray<0>' in declaration of primary template
     void FillArray<0>() {}
                       ^
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp: In function 'co                                              nstexpr float GetResolutionScaleFactor()':
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:809:1: error: th                                              e value of 'Settings::values' is not usable in a constant expression
 }
 ^
In file included from C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cach                                              e.cpp:23:0:
C:/citra/src/core/settings.h:139:10: note: 'Settings::values' was not declared                                                constexpr'
 } extern values;
          ^~~~~~
In file included from C:/citra/src/core/hle/kernel/kernel.h:11:0,
                 from C:/citra/src/core/hle/service/cam/cam.h:10,
                 from C:/citra/src/core/settings.h:10,
                 from C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cach                                              e.cpp:23:
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp: In instantiatio                                              n of 'struct MortonCopyPixels(u32, u32, const u8*, u8*, PAddr, PAddr, PAddr) [wi                                              th int flags = -769]::<lambda()>':
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:100:9:   require                                              d from 'void MortonCopyPixels(u32, u32, const u8*, u8*, PAddr, PAddr, PAddr) [wi                                              th int flags = -769]'
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:151:25:   recurs                                              ively required from 'void FunctionTable<size>::FillArray() [with long long unsig                                              ned int P = 127; long long unsigned int size = 128]'
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:151:25:   requir                                              ed from 'void FunctionTable<size>::FillArray() [with long long unsigned int P =                                               128; long long unsigned int size = 128]'
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:142:24:   requir                                              ed from 'FunctionTable<size>::FunctionTable() [with long long unsigned int size                                               = 128]'
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:157:59:   requir                                              ed from here
C:/citra/src/common/assert.h:33:35: fatal error: template instantiation depth ex                                              ceeds maximum of 900 (use -ftemplate-depth= to increase the maximum)
             assert_noinline_call([] { LOG_CRITICAL(Debug, "Assertion Failed!");                                               });                \
                                   ^
C:/citra/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp:100:9: note: in                                               expansion of macro 'ASSERT'
         ASSERT(start >= base && end <= (base + (width * height * bytes_per_pixe                                              l)));
         ^
compilation terminated.
make[2]: *** [src/video_core/CMakeFiles/video_core.dir/build.make:255: src/video                                              _core/CMakeFiles/video_core.dir/renderer_opengl/gl_rasterizer_cache.cpp.obj] Err                                              or 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:816: src/video_core/CMakeFiles/video_core.dir                                              /all] Error 2
make: *** [Makefile:95: all] Error 2
 
Last edited by drwhojan,
Can you build msvc via appveyor?

Hang on i'm re-compiling with your latest, and your new boost update 2
Nether used appveyor ?, edit ok its building.

EDIT: cancaled, re-uploading new branch, will compiled after done, and post it.
EDIT: Now compiling, installing a lot of stuff xd.

EDIT: will have to recompile, boost/range.hpp was not added, I'll add and recompile.
 
Last edited by drwhojan,
Last edited by drwhojan,
  • Like
Reactions: NiagA and Dampih
  • Like
Reactions: drwhojan

Site & Scene News

Popular threads in this forum