-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Math3d extensions #2834
Math3d extensions #2834
Conversation
I'm gonna test with LLVM (clang) before merging :) And just a note for those wondering what this is about, this is mainly for use by neobrain's software renderer. |
Just out of curiosity, what does this commit do for games in general? Would it benefit any of them? Improve CPU utilzation? GPU utilization? Functionally alter them? Improve compatibility? It looks like a lot of goobledegook to me, but I'm admittedly still learning about these things. Sorry. |
@solarmystic |
@neobrain Kudos to you sir, and carry on. |
Not that it really needed any confirmation, but it's compiling fine in VS2012(with VS2010 libs), so this should be okay to merge. |
Critical copy constructor issue fixed in 51683a5. The issue didn't affect any of the existing code in master, but caused a major bug in softgpu, so I wanted to wait with merging until I understood what's going on. Ready to merge now. |
... I have to back out again, I somehow broke the swizzler functionality (it doesn't compile anymore when used). |
Alright, ready to merge now. Tested build on gcc 4.7.2 and msvc10 and made sure my softgpu branch actually compiles and works with it. |
Thanks @neobrain .Compile all good on msvc2010 Wondering how well the compatibility right now on the softgpu implementation . (Compiling a build to test it ) |
Okay, thanks, I'll go test on my mac too before I merge. @raven02 , neobrains softgpu is very early but seems like a good start. |
It is a really good start and the way to archieve 100% compatibility |
Just for reference, here's neobrain's softgpu branch: https://github.com/neobrain/ppsspp/tree/softgpu We'll probably merge it pretty soon. |
Thanks @hrydgard .Btw , bit long time no see @unknownbrackets . |
It builds but it's crashy. Here's a callstack from fate extra: Program received signal EXC_BAD_ACCESS, Could not access memory. Here's another one from Lumines: #0 0x00000001002d293a in std::__1::__tree<std::__1::pair<unsigned int, VertexDecoder*>, std::__1::__map_value_compare<unsigned int, VertexDecoder*, std::__1::less, true>, std::__1::allocator<std::__1::pair<unsigned int, VertexDecoder*> > >::__lower_bound () |
so is this the software rendering mode or have i mistaken? |
@arg274 , this is some helper code that will be used by neobrains software rendering mode, yes. The real meat is here: https://github.com/neobrain/ppsspp/tree/softgpu |
…n names Dot and Cross.
…cts like colors or texture coordinates. GPU/Math3D: Replaced Vec3::v array with a method called "AsArray".
…eturning a new Vec3 object. Possibly fixes a bug or two because the old code was using the constructors incorrectly.
…operations on references.
…er Lerp and LerpInt functions.
…lying on unions being laid out in a specific way.
Crisis Core: Don't know why I'm not getting proper line numbers.. Program received signal EXC_BAD_ACCESS, Could not access memory. |
Lumines again, this time with line numbers: 0x00000001002ec66a in std::__1::less::operator() () at /usr/lib/c++/v1/__functional_base:421 |
Crisis Core: Program received signal EXC_BAD_ACCESS, Could not access memory. |
Given the crashes, not sure what to do with this. Do you plan to get rid of the Ref stuff? I think it's pretty overkill anyway. |
I've fixed the messy VecXRef stuff by removing it (locally), haven't gotten to clean it up yet though. |
I'll remove most of the "cool" functionality of this branch, so this pull request is kinda pointless. I'll open another one once the boring changes are rebased on a new branch. |
looks like we have 2 wait... |
Build should be fixed now, tested on gcc 4.7.2 and msvc2010
Enhances the feature set of the existing utility Vec3 class by:
Additionally, this patch
Changes for other people who used the code before: