Yuri Kunde Schlesner
b15d631d99
Avoid LOGGING redefinition warnings.
11 years ago
Yuri Kunde Schlesner
45976da975
CMake cleanup
...
Several cleanups to the buildsystem:
- Do better factoring of common libs between platforms.
- Add support to building on Windows.
- Remove Qt4 support.
- Re-sort file lists and add missing headers.
11 years ago
Yuri Kunde Schlesner
478289140d
Replace GLEW with a glLoadGen loader.
...
This should fix the GL loading errors that occur in some drivers due to
the use of deprecated functions by GLEW. Side benefits are more accurate
auto-completion (deprecated function and symbols don't exist) and faster
pointer loading (less entrypoints to load). In addition it removes an
external library depency, simplifying the build system a bit and
eliminating one set of binary libraries for Windows.
11 years ago
bunnei
76372feb19
Merge pull request #84 from bunnei/fix-hw-synchronization
...
Fix GPU/HW synchronization
11 years ago
bunnei
038a51aac1
Merge pull request #82 from yuriks/addr-types
...
Introduce VAddr and PAddr typedefs for ARM addresses.
11 years ago
bunnei
aabfcfe6ad
GPU: Improve frame synchronization, increases compatibility with both homebrew and retail applications.
11 years ago
bunnei
eb36d3fc90
Core: Refactor core to use only one function for execution.
...
Core: Cleaned up comment to be more readable.
Citra: Changed loop to be more readable.
11 years ago
bunnei
738b88293c
Loader: Added support for loading raw BIN executables.
...
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
11 years ago
bunnei
3ade84cb7b
Threading: Fix thread starting to execute first instruction correctly.
11 years ago
bunnei
ae93adddd1
srv::Initialize: Return "success" status code.
11 years ago
Yuri Kunde Schlesner
83c3d2bcd1
Introduce VAddr and PAddr typedefs for ARM addresses.
11 years ago
bunnei
06864c93fd
Merge pull request #80 from bunnei/fix-latest-libctru
...
Fixes Citra for the latest changes made to the "refactor" branch of libctru.
- For reference, see: https://github.com/smealum/ctrulib/tree/refactor/libctru
11 years ago
bunnei
6966fdf025
Loader: Added support for loading raw BIN executables.
...
- Useful for debugging homebrew
Qt: Updated GUI to support loading .bin files.
11 years ago
bunnei
304999dfeb
Threading: Fix thread starting to execute first instruction correctly.
11 years ago
bunnei
fb908b9395
srv::Initialize: Return "success" status code.
11 years ago
Yuri Kunde Schlesner
9d172ab550
Downgrade GLSL version to 1.50 (compatible with GL 3.2)
11 years ago
bunnei
20d169e4a1
VideoCore: Fixes rendering issues on Qt and corrects framebuffer output size.
11 years ago
Kevin Hartman
cbfd6b6e52
Rewrite of OpenGL renderer, including OS X support
...
Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads.
Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk.
11 years ago
Tony Wasserka
a79644c9ba
Pica/Rasterizer: Clarify a TODO.
11 years ago
Tony Wasserka
697b50c3ff
Pica/VertexShader: Fix a bug in the call stack handling.
11 years ago
Tony Wasserka
b5b3aeb576
Math: Warning fixes.
11 years ago
Tony Wasserka
941762a573
GPU: Fix a compiler warning about redundant semicolons.
11 years ago
Tony Wasserka
2f1c129f64
Pica: Consolidate the primitive assembly code in PrimitiveAssembly and GeometryDumper.
11 years ago
Tony Wasserka
9679d231df
Pica/Rasterizer: Add texturing support.
11 years ago
Tony Wasserka
34fa0b6d9c
Pica/DebugUtils: Add convenient tev setup printer.
11 years ago
Tony Wasserka
27cab6477e
Pica/Rasterizer: Add initial implementation of texture combiners.
11 years ago
Tony Wasserka
c4691b784b
Pica: Add support for dumping textures.
11 years ago
Tony Wasserka
162d641a30
Pica/Math: Improved the design of the Vec2/Vec3/Vec4 classes and simplified rasterizer code accordingly.
...
- Swizzlers now return const objects so that things like "first_vec4.xyz() = some_vec3" now will fail to compile (ideally we should support some vector holding references to make this actually work).
- The methods "InsertBeforeX/Y/Z" and "Append" have been replaced by more versions of MakeVec, which now also supports building new vectors from vectors.
- Vector library now follows C++ type promotion rules (hence, the result of Vec2<u8> with another Vec2<u8> is now a Vec2<int>).
11 years ago
Tony Wasserka
62c36a4ef0
Pica/VertexShader: Fix a bug in the bitfield definitions and add the "negate" field for swizzlers.
11 years ago
Tony Wasserka
26ade98411
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
11 years ago
Tony Wasserka
0465adf206
Pica/CommandProcessor: Implement parameter masking.
11 years ago
Tony Wasserka
f37e39deb9
Pica: Add debug utilities for dumping shaders.
11 years ago
Tony Wasserka
6ea003c7b5
Pica: Add debug utility functions for dumping geometry data.
11 years ago
Tony Wasserka
14b24a75b3
GSP: Update framebuffer information when necessary.
11 years ago
Tony Wasserka
590c206ac8
GSP: Implement SetBufferSwap.
11 years ago
Tony Wasserka
e832bbe554
GSP: Add a helper function for convenience.
11 years ago
Sacha
1b1205cf73
Pass format to the QGLWidget and use atomic instead of mutex.
11 years ago
Sacha
b044510fa9
Fix EmuThread loop by ensuring it exits properly.
...
Note: There is a pre-existing issue with booting a new game in that it keeps the old EmuThread.
The GL code now supports this but the Core still doesn't.
11 years ago
Sacha
a3a70e56ac
Fix the threading for GL Context in Qt5.
...
Connect the emu_thread start/finish to a moveContext slot.
11 years ago
bunnei
0ffc966e42
Merge pull request #68 from archshift/readfile
...
Added FS functions to Archive and Archive_RomFS
11 years ago
archshift
4c4a01bf41
Added FS functions to Archive and Archive_RomFS
11 years ago
bunnei
c3c66ad34d
Merge pull request #46 from archshift/citrah
...
Removed unused citra.h
11 years ago
bunnei
59d512484a
Merge pull request #58 from lioncash/clamp
...
Common: Add a clamp function to math_utils.h
11 years ago
Emmanuel Gil Peyrot
ef27770a53
ARM: Remove a forgotten const in vfp.
11 years ago
archshift
d93dc81953
Revert "Removed redundant loop in EmuThread::run()"
11 years ago
archshift
80c4d7bf48
Removed unused citra.h
11 years ago
bunnei
bc64261d29
Merge pull request #60 from xsacha/qt5
...
Use Qt5 by default for citra-qt project.
11 years ago
bunnei
0db986d92a
Merge pull request #61 from lioncash/kernel-stuff
...
Core: Use std::array for managing kernel object space
11 years ago
bunnei
39fbb0d508
Merge pull request #59 from lioncash/fwddecl
...
Common: Get rid of an unnecessary forward declaration in symbols.h
11 years ago
Sacha
90f23020f5
Add Qt5 option. Use Qt5 by default.
11 years ago
Lioncash
2f571a0d9d
Common: Add a clamp function to math_utils.h
11 years ago
Lioncash
ab4648d3ca
Core: Use std::array for managing kernel object space
...
These avoid relying on memset for clearing the arrays.
11 years ago
bunnei
e9c5c563a5
Merge pull request #55 from lioncash/string
...
Core: Alter the kernel string functions to use std::string instead of const char*.
11 years ago
bunnei
10f25866e2
SVC: Added support for svc_GetSystemTick.
...
Changed HLE function return methods to be static inline functions.
11 years ago
Lioncash
85a20a9b19
Common: Get rid of an unnecessary forward declaration in symbols.h
11 years ago
bunnei
0a1aab5b42
Merge pull request #57 from lioncash/str
...
Common: Don't return a reference to a string when calling GetName in symbols.cpp
11 years ago
Lioncash
a49a5fa4d9
Common: Don't return a reference to a string when calling GetName in symbols.cpp
...
Returning a copy of the string is what was likely meant to be done.
11 years ago
Sacha
b7ecc9543a
CMake Cleanup
11 years ago
Lioncash
98fa3f7cba
Core: Alter the kernel string functions to use std::string instead of const char*.
...
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
11 years ago
bunnei
68c81f28d9
Merge pull request #52 from lioncash/memory
...
Common: Correctly set ptr to null if mmap fails in memory_util
11 years ago
bunnei
3cd5ede355
Merge pull request #49 from archshift/redundantloop
...
Removed redundant loop in EmuThread::run()
11 years ago
bunnei
54d5d4477f
Merge pull request #48 from linkmauve/master
...
Replace insecure temporary file creation with devshm.
11 years ago
bunnei
b26f25356d
Merge pull request #51 from lioncash/pragma
...
Common: Move header guards over to pragma once.
11 years ago
bunnei
7ed73af78f
Merge pull request #53 from lioncash/memmap
...
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
11 years ago
Lioncash
986dd27392
Core: Fix a formatting error in svc.cpp
...
entry_point would not be added to the string. Also used StringFromFormat
so that the buffer is unnecessary.
11 years ago
Lioncash
da18671166
Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
11 years ago
Lioncash
cc9f352b66
Common: Correctly set ptr to null if mmap fails in memory_util
...
On POSIX systems mmap will return MAP_FAILED ((void*)-1) instead of a null pointer.
11 years ago
Lioncash
da6f24b374
Common: Move remaining C header includes over to their C++ equivalent
11 years ago
Lioncash
90e994471a
Common: Move header guards over to pragma once
...
Also replaced C headers with the C++ equivalent ones
11 years ago
archshift
9a4e58c370
Removed redundant loop in EmuThread::run()
11 years ago
Emmanuel Gil Peyrot
c91d9fd837
mem_arena: Replace insecure temporary file creation with devshm, importing Dolphin’s code.
11 years ago
archshift
6096b289b7
Bootmanager: changed `filename` to std::string
11 years ago
bunnei
73c53b5eb8
Merge pull request #43 from archshift/iftree
...
Simplified if-tree in extended_trace.cpp
11 years ago
bunnei
388356f629
Merge pull request #42 from archshift/glexp
...
Use glewExperimental to fix crashes with citra-glfw
11 years ago
archshift
662a1993e6
float24: Remove private default constructor
...
Fixes building with clang.
11 years ago
bunnei
bf7bc3dacd
Merge pull request #39 from bunnei/hid-minor-improvements
...
Hid minor improvements
11 years ago
bunnei
091f6cf55b
HID: Added new function entries from 3dbrew to FunctionTable.
...
HID: Fix typo with DisableGyroscopeLow command.
11 years ago
archshift
a7c549a40c
Simplified if-tree in extended_trace.cpp
11 years ago
archshift
d71af1bd20
Use glewExperimental on Linux in order to fix GLFW-mode
11 years ago
bunnei
0ccd026a6d
Merge pull request #41 from archshift/itr
...
Changed iterators to use auto, many of which using range-based loops
11 years ago
Tony Wasserka
94d742fe17
Pica: Add basic rasterizer.
11 years ago
Tony Wasserka
94aa9da562
Pica: Add triangle clipper.
11 years ago
Tony Wasserka
9a76a2d061
Pica: Add primitive assembly stage.
11 years ago
Tony Wasserka
c526512619
Pica: Add vertex shader implementation.
11 years ago
Tony Wasserka
d443f0a921
Pica: Implement vertex loading.
11 years ago
Tony Wasserka
1a43f69477
Pica: Add register definition for vertex loading and rendering.
11 years ago
Tony Wasserka
76a586de49
Pica: Add command processor.
11 years ago
Tony Wasserka
98ad16a45b
Pica: Add float24 structure.
...
24-bit floating points are used internally for calculations on the GPU, however the current code will still emulate that with 32-bit floating points.
In the future we might want to accurately perform the calculations with correct bitness in the future, but for now we just wrap the calculations around this class.
11 years ago
Tony Wasserka
8528c810cf
Video core: Add utility class for vector operations.
...
I wrote most of this for ppsspp, so I hold full copyright over it.
In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.
11 years ago
Tony Wasserka
7b6a7d7dfb
Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
...
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible.
This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
11 years ago
Tony Wasserka
bd798390d5
GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore.
11 years ago
archshift
1a2604902f
break_points.cpp: return directly from conditionals
11 years ago
archshift
e3efc613fd
break_points: cleaned up, added `find_if`s
11 years ago
archshift
5a7c3ad194
Changed iterators to use auto, some of which using range-based loops
11 years ago
Tony Wasserka
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
11 years ago
Anthony J. Bentley
dad3655a6d
Use pthread_set_name_np() on OpenBSD.
11 years ago
bunnei
552287498a
HID: Implemented HID_User::GetIPCHandles service function.
11 years ago
bunnei
66f91b4346
SVC: Fixed typo with MapMemoryBlock DEBUG_LOG call.
11 years ago
bunnei
0805ecbaca
GPU: Updated g_last_ticks variable to be more descriptive (represents CPU tick count of last vertical line).
11 years ago
bunnei
7ada2625fe
GPU: Updated horizontal sync line counter to use framebuffer height.
11 years ago