Commit graph

3160 commits

Author SHA1 Message Date
Lioncash 0a52e1f587 gdbstub: Silence missing prototype warnings 2016-05-10 09:17:07 -04:00
Jannik Vogel fc9cc21024 OpenGL: Implement W-Buffers and fix depth-mapping 2016-05-10 08:58:52 +02:00
Jannik Vogel 4c98113b57 Pica: Implement W-Buffer in SW rasterizer 2016-05-10 08:58:52 +02:00
linkmauve 006fe5fc0f Merge pull request #1704 from JayFoxRox/pod-config
Pica: PicaShaderConfig is TC and cleared before use
2016-05-10 01:16:53 +01:00
bunnei 976bacf5f7 Merge pull request #1771 from lioncash/user
dyncom: Reset the context into user mode correctly
2016-05-09 18:54:09 -04:00
Lioncash 0f941d0245 dyncom: Reset the context into user mode correctly
The other mode was system mode.
2016-05-09 16:30:55 -04:00
Lioncash da2400a601 source: Fix missing logging arguments
Silences two warnings on OSX.
2016-05-09 09:41:03 -04:00
Lioncash d5b983a8c0 swap: Get rid of pointer casting for swapping structs
These shouldn't haphazardly convert types
2016-05-08 23:33:52 -04:00
Lioncash 47ca79ba4b swap: Get rid of undefined behavior in swapf and swapd
This isn't well-defined in C++.
2016-05-08 23:21:47 -04:00
Lioncash aef4630102 swap: Remove unused methods
Also gets rid of pointer data variants as this prevents the use of
the regular swapping routines as unary predicates in std lib functions.

They also cast to stricter alignment types, which is undefined behavior.
2016-05-08 23:12:04 -04:00
Lioncash 6d5f2a3cff vertex_loader: Correct forward declaration of InputVertex
It's actually a struct, not a class.
2016-05-08 23:08:18 -04:00
Lioncash 5587383eb7 vertex_loader: Provide an assertion for ensuring the loader has been setup
Also adds an assert to ensure that Setup is not called more than once
during a VertexLoader's lifetime.
2016-05-08 23:08:12 -04:00
Lioncash 1357724cd9 vertex_loader: Add constructors to facilitate immediate and two-step initialization 2016-05-08 23:03:32 -04:00
Lioncash 769f4a7018 vertex_loader: initialize_num_total_attributes.
Keeps the public API sane.
2016-05-08 23:03:32 -04:00
Lioncash 8ea5e7dfb5 vertex_loader: Use std::array instead of raw C arrays 2016-05-08 23:03:32 -04:00
Lioncash a286b61f75 vertex_loader: Correct header ordering 2016-05-08 23:01:26 -04:00
bunnei 282a2ad539 Merge pull request #1766 from Subv/log_cpu
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei 6abc6003f5 Merge pull request #1718 from alex-laties/fixup-type-conversions
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei 8e9b33a34a Merge pull request #1761 from Subv/applets_fb
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties 0a31e373f1 fixup simple type conversions where possible 2016-05-07 11:41:55 -04:00
Subv 5b7f86708c Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv d192fb066d Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.

This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
bunnei c549c36076 Merge pull request #1736 from MerryMage/sdl2-sink
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
Subv 6970b7d3d5 HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets. 2016-05-07 10:01:40 -05:00
MerryMage 920d2cf41d AudioCore: SDL2 Sink 2016-05-07 11:32:48 +01:00
bunnei 1a6cd7eb4b HLE: Fix recent DSP change for Visual Studio. 2016-05-07 00:54:31 -04:00
bunnei 8043a35cf9 Merge pull request #1544 from linkmauve/move-glad-init
Move glad initialisation to the frontend
2016-05-07 00:33:06 -04:00
wwylele d2182568ad fix:return proper error 2016-05-06 21:42:13 +03:00
Emmanuel Gil Peyrot aa4d4ff23c Frontends, VideoCore: Move glad initialisation to the frontend
On SDL2 this allows it to use SDL_GL_GetProcAddress() instead of the
default function loader, and fixes a crash when using apitrace with an
EGL context.

On Qt we will need to migrate from QGLWidget to QOpenGLWidget and
QOpenGLContext before we can use gladLoadGLLoader() instead of
gladLoadGL(), since the former doesn’t expose a function loader.
2016-05-06 03:10:14 +01:00
bunnei 75cbfeee58 Merge pull request #1762 from bunnei/global
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei 4cb2995c61 HLE: Rename RescheduleIsPending to IsReschedulePending. 2016-05-05 21:34:10 -04:00
bunnei 55946cdc11 Merge pull request #1700 from wwylele/gamelist-icon
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl e311398a22 Layout Mii parameters input/output, and return success as result of applet work 2016-05-05 22:31:33 +03:00
bunnei f5e839066a Merge pull request #1757 from JayFoxRox/rename-vertexloaded-bp
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
2016-05-05 05:54:14 -04:00
bunnei 07411fb631 Merge pull request #1734 from MerryMage/dsp-hle-source
DSP/HLE: Implement Source processing
2016-05-04 10:13:59 -04:00
wwylele 9da1534237 add missing header 2016-05-04 13:02:49 +03:00
wwylele 0176e2786f make the name column larger as default 2016-05-04 13:02:49 +03:00
wwylele 5d5dd66d92 add icon & title to game list 2016-05-04 13:02:49 +03:00
Jannik Vogel 7a77b8356c Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation 2016-05-04 10:21:51 +02:00
MerryMage b242bdf945 DSP/HLE: Implement Source processing 2016-05-03 20:58:28 +01:00
wwylele 9b66e0dc8b clean up config block 2016-05-03 19:27:47 +03:00
Jannik Vogel f74652d2fe Pica: Use a union for PicaShaderConfig 2016-05-03 15:06:49 +02:00
Jannik Vogel 5fc8eb227a Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround) 2016-05-03 15:06:46 +02:00
Jannik Vogel f3f7018c9e Pica: Make PicaShaderConfig trivially_copyable and clear it before use 2016-05-03 14:10:11 +02:00
Jannik Vogel 5ec1140f8b OpenGL: Don't copy const_color (Reverts #1745) 2016-05-03 12:34:52 +02:00
bunnei 6d02fe39f5 Merge pull request #1750 from JayFoxRox/cleanup-shader-input
Pica: Replace logic in shader.cpp with loop
2016-05-02 20:44:53 -04:00
Jannik Vogel 696cb197a5 Pica: Replace logic in shader.cpp with loop 2016-05-03 01:40:47 +02:00
bunnei a6e76c0903 Merge pull request #1732 from wwylele/config00170000
add config block 0x00170000; remove duplicated content
2016-05-02 19:04:20 -04:00
bunnei 15d0e98267 Merge pull request #1741 from linkmauve/iwyu-video_core
Fix video_core includes (and dependencies) using include-what-you-use
2016-05-01 17:44:57 -04:00
Jannik Vogel 7e0d6903ff OpenGL: Copy TevStageConfig using a loop. Fixes bug: const_color not copied 2016-05-01 16:35:54 +02:00
wwylele 7e1b76d406 remove duplicated function declaration 2016-05-01 07:44:55 +03:00
Jannik Vogel aab41604f7 OpenGL: border_color was never set. Fixed. (#1740) 2016-04-30 12:20:23 -07:00
Emmanuel Gil Peyrot 691a42fe98 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
Emmanuel Gil Peyrot 387d935a54 LCD: Remove unneeded #undef with no matching #define. 2016-04-30 13:58:26 +01:00
linkmauve d8aa2460ef Merge pull request #1735 from JayFoxRox/remove-tga
Remove TGA dumper
2016-04-30 13:57:45 +01:00
bunnei c1f0044a4b Merge pull request #1729 from MerryMage/null-sink
Audio Config: Implement null sink and implement sink configuration
2016-04-30 03:49:11 -04:00
Jannik Vogel 49bfe9bf91 Remove TGA dumper 2016-04-30 09:43:59 +02:00
MerryMage 4e971f44a2 Audio: Add sink selection to configuration files 2016-04-30 07:41:02 +01:00
MerryMage 8b94422e3e AudioCore: List of sink types 2016-04-30 07:39:48 +01:00
MerryMage 7d106eff10 AudioCore: Implement NullSink 2016-04-30 07:39:37 +01:00
bunnei 594bd182b4 Merge pull request #1650 from JamePeng/update-the-ndm-code
Update the stub code of NDM service!
2016-04-30 00:38:15 -04:00
bunnei 15d21c0dc5 Merge pull request #1647 from mailwl/acu-closeasync
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
2016-04-30 00:11:08 -04:00
bunnei eb2d6e4015 Merge pull request #1699 from mailwl/gpu-rights
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-29 20:50:08 -04:00
bunnei 73624b4721 Merge pull request #1726 from MerryMage/read-write-region
AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion()
2016-04-29 12:18:26 -04:00
MerryMage 22995bd9bf AudioCore: CurrentRegion() -> ReadRegion(), WriteRegion() 2016-04-29 16:32:29 +01:00
bunnei 4c235955cf Merge pull request #1723 from MerryMage/audio-interp
AudioCore: Implement interpolation
2016-04-29 10:43:20 -04:00
bunnei 90243c56fb Merge pull request #1730 from hrydgard/vertex-loader
* Remove late accesses to attribute_config

* Refactor: Extract VertexLoader from command_processor.cpp.

Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.

* Move "&" to their proper place, add missing includes and make some properly relative.

* Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached).

* Optimize the vertex loader, nearly doubling its speed.

* Debugger fix

* Move and rename the MemoryAccesses class to MemoryAccessTracker.
2016-04-29 09:42:47 -04:00
wwylele 84ade0713c add config block 0x00170000 2016-04-29 13:31:29 +03:00
Yuri Kunde Schlesner e3a8292495 Common: Remove section measurement from profiler (#1731)
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
MerryMage 111275bfbd AudioCore: Implement interpolation 2016-04-29 08:05:41 +01:00
Henrik Rydgard a86d7cacc1 Move and rename the MemoryAccesses class to MemoryAccessTracker. 2016-04-29 08:50:21 +02:00
Henrik Rydgård 90501f20e6 Make Citra build with MICROPROFILE_ENABLED set to 0 (#1709)
* Make Citra build with MICROPROFILE_ENABLED set to 0

* Buildfix with microprofile kept on

* moc did not like a dialog to conditionally exist.

* Cleanup

* Fix end of line
2016-04-28 20:17:31 -04:00
Henrik Rydgard a442ee07f4 Debugger fix 2016-04-28 22:30:01 +02:00
Henrik Rydgard 251f29dd7f Optimize the vertex loader, nearly doubling its speed. 2016-04-28 22:21:39 +02:00
Henrik Rydgard 2403e86cbb Don't keep base_address in the loader, it doesn't belong there (with it, the loader can't be cached). 2016-04-28 20:17:35 +02:00
Henrik Rydgard d00e2340c6 Move "&" to their proper place, add missing includes and make some properly relative. 2016-04-28 19:40:11 +02:00
Henrik Rydgard 47ff008817 Refactor: Extract VertexLoader from command_processor.cpp.
Preparation for a similar concept to Dolphin or PPSSPP. These can be JIT-ed and cached.
2016-04-28 19:05:55 +02:00
Henrik Rydgard 0cf15f64ef Remove late accesses to attribute_config 2016-04-28 18:07:34 +02:00
bunnei fda578e19d Merge pull request #1727 from MerryMage/minor-commit
AudioCore: Move samples_per_frame and num_sources into hle/common.h
2016-04-28 09:47:08 -04:00
bunnei 2f76dc6758 Merge pull request #1722 from MerryMage/soundtouch
Externals: Add soundtouch
2016-04-28 09:45:15 -04:00
MerryMage 27ce3b3f51 Externals: Add soundtouch 2016-04-28 13:33:14 +01:00
MerryMage dda9ffe790 AudioCore: Move samples_per_frame and num_sources into hle/common.h 2016-04-28 11:22:40 +01:00
bunnei 1ecee38468 Merge pull request #1708 from MerryMage/dsp_dsp
DSP Service: Cleanup
2016-04-27 11:34:38 -04:00
MerryMage c379b22117 DSP_DSP: Fix log format strings and arguments 2016-04-27 06:35:12 +01:00
MerryMage a47f149e07 AudioCore: Hack to prevent regressions: Trigger Binary pipe interrupt every audio frame 2016-04-27 06:35:10 +01:00
MerryMage 2929b67c5f DSP_DSP: Add return IPC headers 2016-04-27 06:35:08 +01:00
MerryMage ff6db69c60 DSP_DSP: Updated interrupt implementation 2016-04-27 06:35:06 +01:00
bunnei 12f72a6597 y2r_u: Cleanup some formatting. 2016-04-26 21:50:56 -04:00
bunnei 61992170ac Merge pull request #1447 from JamePeng/update-y2r-service
Update the code of service y2r!
2016-04-26 19:29:57 -04:00
Emmanuel Gil Peyrot 591ffad670 Qt Frontend: Add Threads::Threads import in CMakeLists.txt.
This had been forgotten in df81fa11fc.

Fixes #1711.
2016-04-26 21:01:11 +01:00
bunnei 15c907317c Merge pull request #1710 from hrydgard/optimize-event-breakpoints
Replace std::map with std::array for graphics event breakpoints
2016-04-25 21:37:43 -04:00
MerryMage 555907ce8d DSP/Pipe: There are 8 pipes 2016-04-25 07:50:53 +01:00
Sam Spilsbury 656a442433 shader: Shader size is long uint, not uint. 2016-04-25 00:40:03 +08:00
Sam Spilsbury c6709d97bc shader: Handle non-CALL opcodes with a break 2016-04-25 00:39:54 +08:00
Sam Spilsbury bbffa6ad69 shader: Format string must be provided inline and not as a variable 2016-04-24 23:40:52 +08:00
Sam Spilsbury e16541e47c am: title_id is long long uint 2016-04-24 23:40:41 +08:00
Sam Spilsbury ef6873980e assert: Allow UNREACHABLE_MSG to have just one argument 2016-04-24 23:40:14 +08:00
Sam Spilsbury df81fa11fc CMakeLists: Use imported version of Threads::Threads
This requires bumping up to a minimum of CMake 3.1. The benefit
of using the imported target is that you can switch to the -pthread
compiler flag on request, which may be necessary for some systems if
available.
2016-04-24 23:39:25 +08:00
Henrik Rydgard 01a1555b5d Replace std::map with std::array for graphics event breakpoints, and allow the compiler to inline. Saves 1%+ in vertex heavy situations. 2016-04-24 14:19:49 +02:00
MerryMage 913f7ee524 DSP_DSP: Remove unused variable 2016-04-24 09:01:53 +01:00
bunnei 0964a3ff53 Merge pull request #1576 from smspillaz/fix-build-errors-03272016
Fix various build errors encountered on Clang 3.9 on OS X
2016-04-24 02:02:45 -04:00
LittleWhite 9572652ddc Protect use of std::is_trivially_copyable to compile with GCC 4.9 2016-04-23 15:45:35 +02:00
mailwl 67c657bf80 return checks if event and memory created 2016-04-23 16:17:03 +03:00
Sam Spilsbury 205e8f9f9e assert: Add _MSG variations for UNREACHABLE and UNIMPLEMENTED 2016-04-23 11:54:02 +08:00
Sam Spilsbury 39d4994c15 pica: Handle default lighting case 2016-04-23 11:54:02 +08:00
Sam Spilsbury 60f2587eac ncch: Use correct format specifier (for long long uint) 2016-04-23 11:54:02 +08:00
Sam Spilsbury 040b7386a9 fs: Fix what appears to be a typo (filename_size / file_size) 2016-04-23 11:54:02 +08:00
Sam Spilsbury 41ec40e9aa gdbstub: Don't check if unsigned int is > 0 2016-04-23 11:54:02 +08:00
Sam Spilsbury 2850a22359 debugger: Warn if we reach an unreachable format 2016-04-23 11:54:02 +08:00
Sam Spilsbury d051bd3032 CMakeLists: Use CMAKE_THREAD_LIBS_INIT 2016-04-23 11:48:58 +08:00
mailwl efdff9ad3e gsp::Gpu: implement AcquireRight, ReleaseRight functions 2016-04-22 21:15:25 +03:00
tfarley 562f36a144 HWRasterizer: reorder declarations to match defs 2016-04-22 10:52:02 -04:00
tfarley 3268cab26b HWRasterizer: sync specular uniform for new shaders 2016-04-22 10:48:00 -04:00
bunnei bab30bcd6e Merge pull request #1436 from tfarley/hw-tex-forwarding
Hardware Renderer Texture Forwarding
2016-04-22 08:15:51 -04:00
tfarley 22f3a7e94c HWRasterizer: Texture forwarding 2016-04-21 17:27:56 -04:00
tfarley e46d086189 Config: Add scaled resolution option 2016-04-21 17:27:48 -04:00
bunnei 14cc1ed911 Merge pull request #1655 from JayFoxRox/hw-dot3
OpenGL: Implement color combiner Operation::Dot3_RGB
2016-04-21 16:39:36 -04:00
mailwl bd8cc69893 ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2) 2016-04-21 10:34:45 +03:00
JamePeng 14602287f7 Update the stub code of NDM service! 2016-04-21 02:25:58 +08:00
JamePeng 854912ca5d Update the code of service y2r! 2016-04-20 18:38:01 +08:00
JamePeng 7129611e65 Implement CheckNew3DS and CheckNew3DSApp
Append an item[is_new3ds] to config file[System] group

Implement APT::SetNSStateField,it will update the unknown NS_state_field
2016-04-20 18:12:05 +08:00
Emmanuel Gil Peyrot 164c15f911 SDL2 Frontend: Use argv[0], add a --version, and reorder options. 2016-04-20 01:35:27 +01:00
bunnei 6d29c20208 Merge pull request #1672 from wwylele/win-driver-fix
Fix driver root identification on Windows
2016-04-19 17:40:13 -04:00
bunnei 32dfd4b4fe Merge pull request #1612 from ObsidianX/get-set-sockopt
SOC:U GetSockOpt/SetSockOpt
2016-04-18 20:45:19 -04:00
bunnei 142a5dc3f5 Merge pull request #1625 from JayFoxRox/sw-blend-func
Rasterizer: Allow all blend factors for alpha blend-func
2016-04-17 20:20:15 -04:00
Jannik Vogel e2b63a2dd7 Rasterizer: Allow all blend factors for alpha blend-func 2016-04-17 22:44:24 +02:00
Lioncash 1cc183703a core: Clean out some unnecessary header includes 2016-04-16 00:08:49 -04:00
bunnei 2b422fbcc5 Merge pull request #1667 from wwylele/ncch-loader-fix
loader: only decompress code section
2016-04-15 17:13:34 -04:00
bunnei 7805f66784 Merge pull request #1673 from MerryMage/config-minimumSize
Configure Dialog: Remove minimumSize property
2016-04-15 10:00:58 -04:00
wwylele 43b6cbd762 fix driver root identification on Windows 2016-04-15 14:50:34 +03:00
Mathew Maidment d496969c9c Merge pull request #1671 from lioncash/mem
debug_utils: use std::make_unique for initializing PicaTrace
2016-04-15 07:37:10 -04:00
MerryMage fd771d7a87 Configure Dialog: Remove minimumSize property 2016-04-15 11:34:08 +01:00
JamePeng 8d5a6110f7 Y2R: num_tiles should be allowed when its value is 128 (#1669) 2016-04-14 21:36:07 -07:00
Lioncash 4501a9eb50 debug_utils: use std::make_unique for initializing PicaTrace 2016-04-14 22:05:28 -04:00
bunnei 23f967b0af Merge pull request #1666 from MerryMage/barrier
Thread: Correct Common::Barrier implementation
2016-04-14 22:03:17 -04:00
bunnei aff35d3e58 Merge pull request #1665 from lioncash/file
IOFile: Minor API changes
2016-04-14 16:28:15 -04:00
wwylele 727d508e02 ncch:only decompress .code section 2016-04-14 18:33:42 +03:00
MerryMage 3c710f9b10 Thread: Make Barrier reusable 2016-04-14 13:59:58 +01:00
MerryMage 8c50833445 common/thread: Correct code style 2016-04-14 13:58:28 +01:00
bunnei d7fe2784cc shader_jit_x64: Rename RuntimeAssert to Compile_Assert. 2016-04-13 23:04:53 -04:00
bunnei 3f623b2561 shader_jit_x64.cpp: Rename JitCompiler to JitShader. 2016-04-13 23:04:53 -04:00
bunnei 847fb951e2 shader_jit_x64: Free memory that's no longer needed after compilation. 2016-04-13 23:04:52 -04:00
bunnei 60aa72e117 shader_jit_x64: Use a sorted vector instead of a set for keeping track of return addresses. 2016-04-13 23:04:52 -04:00
bunnei 60749f2cda shader_jit_x64: Use CALL/RET instead of JMP for subroutines. 2016-04-13 23:04:52 -04:00
bunnei 507e0b5989 emitter: Add CALL that can be fixed up. 2016-04-13 23:04:50 -04:00
bunnei 1d45b57939 shader_jit_x64: Separate initialization and code generation for readability. 2016-04-13 23:04:50 -04:00
bunnei 6e0319eec9 shader_jit_x64: Get rid of unnecessary last_program_counter variable. 2016-04-13 23:04:49 -04:00
bunnei f3afe24594 shader_jit_x64: Execute certain asserts at runtime.
- This is because we compile the full shader code space, and therefore its common to compile malformed instructions.
2016-04-13 23:04:49 -04:00
bunnei ffcf7ecee9 shader: Remove unused 'state' argument from 'Setup' function. 2016-04-13 23:04:48 -04:00
bunnei a5a74eb121 shader_jit_x64: Specify shader main offset at runtime. 2016-04-13 23:04:47 -04:00