James Benton
2697d0ae31
gpu: Remove declaration for non-existant function.
2016-08-28 13:03:15 +01:00
James Benton
2a6ab116ed
gpu: Rename pm4.h to pm4_packets.h
2016-08-28 13:03:15 +01:00
James Benton
96dcd83628
gx2: Fix signed vs unsigned comparison.
2016-08-28 13:03:15 +01:00
James Benton
b5d9a541e4
opengl: Invalid pm4 packets should assert.
2016-08-28 13:03:15 +01:00
James Benton
761f564e58
gpu: Update some registers to use BITFIELD
...
Let's try be consistent!
2016-08-28 13:03:15 +01:00
James Benton
6d27914797
libdecaf: Add missing <string> include to gpu_utilities.h
2016-08-28 13:02:15 +01:00
James
5ddaa07b6a
Merge pull request #362 from achurch/gpu-dcinvalidate
...
opengl: Use DCInvalidateRange() as a signal to download data buffers.
2016-08-28 12:48:36 +01:00
Brett Lawson
73f4a45ae8
Fix bug causing module entrypoints to be called twice.
...
Using DynLoad_Acquire on a module that was loaded when
the application started, or after a previous Acquire
call would cause the rpl_entry to be invoked again.
2016-08-26 19:32:11 -07:00
Brett Lawson
ea802d41df
Improve unbound attribute buffer draw warning.
...
This makes the warning only be emitted once per application
run. Many games using FFL cause this warning to be hit every
single frame they draw so making sure that we handle it
without spamming the log files is imperative.
2016-08-26 19:32:03 -07:00
Andrew Church
409d23697e
opengl: Use DCInvalidateRange() as a signal to download data buffers.
...
This avoids the cost of fetching transform feedback buffer contents
from the host GPU if the buffer is only going to be reused in another
draw command and not read by the emulated CPU.
Also download data buffers on LCLoadDMABlocks(), as with
LCStoreDMABlocks() and DCFlushRange().
2016-08-27 01:31:53 +09:00
James Benton
05e65fd5cf
libdecaf: Refactor cpu / gpu flushes to go through gpu::notify{Cpu,Gpu}Flush.
...
This is required for a nice pm4 capture interface.
2016-08-26 13:29:07 +01:00
Andrew Church
c6647ee87d
opengl: Remove requirement for CUBE to have distinct X/Y/Z inputs.
...
Some games use bizarre instructions like "CUBE Rn,(0,0,0,1),(1,0,0,0)",
but we can still give the correct output as long as each of the X/Y/Z
components is consistent.
2016-08-26 20:44:03 +09:00
Brett Lawson
88dbe36a6a
Add missing check to isThreadActiveNoLock.
2016-08-25 21:54:01 -07:00
Brett Lawson
44aacb9288
Disable active thread check for OSDetachThread.
2016-08-26 12:49:35 -07:00
James Benton
eb66db2b71
nn_act: Generate a valid Mii instead of using dumped data.
2016-08-25 23:03:28 +01:00
James Benton
0ad8640abe
decaf-sdl: Change how client log works.
...
Will now log to file if configured, and will continue to ALWAYS log to stdout.
2016-08-25 22:23:23 +01:00
James Benton
3033422ef7
nn_save: Stub SAVEChangeGroupAndOthersMode.
2016-08-25 22:20:44 +01:00
Brett Lawson
cc252008d5
Fix bug causing GET_TEXTURE_INFO to fail for MSAA samplers.
2016-08-25 21:23:16 -07:00
Brett Lawson
62c7b70249
Implement GLSL2 TEX LD instruction to use textureFetch.
2016-08-25 21:23:10 -07:00
Brett Lawson
bc395215f5
Fix issue with FFLStoreData type definition.
...
This broke linux builds. Oops.
2016-08-25 20:44:23 -07:00
Brett Lawson
c5247aca1a
Significantly improve handling of nn::act.
...
This fixes some logic flaws in handling the various slots
and additionally includes some valid template Mii data to
use. This fixes the MK8 crash! Woo.
2016-08-25 19:28:55 -07:00
Brett Lawson
938a1bfe8b
Fix bug where unbound attrib buffers would crash Decaf.
...
On the real GPU I believe that an incorrectly configured
attribute buffer would cause the shader to bail rather
than causing a game crash. This should probably be
tested, but I am not able to do so right now.
2016-08-25 19:28:51 -07:00
Brett Lawson
e8657c9608
Implement stub for nn::act::EnableResumeDaemons
2016-08-25 19:28:46 -07:00
Brett Lawson
56a853dcc4
Fix bug with GET_TEXTURE_INFO failing due to missing sampler.
...
We did not register the sampler as being used. This meant
that if a register called only GET_TEXTURE_INFO without
otherwise using the sampler, it would not generate the
needed sampler variable.
2016-08-25 19:28:41 -07:00
Brett Lawson
f9cc8ca5a7
Properly handle MSAA textures during GLSL transpiling.
2016-08-25 19:28:36 -07:00
James Benton
dc80e9ed26
coreinit: Zero tm_msec, tm_usec in OSTicksToCalendarTime
2016-08-25 18:40:58 +01:00
James Benton
187ec34cde
coreinit: Add missing OSCalendarTime fields.
2016-08-25 18:36:54 +01:00
James Benton
dc9667bde2
coreinit: Fix MEMRemoveListObject.
2016-08-25 01:35:07 +01:00
James Benton
eee20ba6ac
coreinit: Fix bug with allocating with negative align in MEMAllocFromBlockHeapEx.
2016-08-25 01:35:01 +01:00
James Benton
05d41512b5
coreinit: Fix some formatting in coreinit_alarm.cpp
2016-08-25 01:34:55 +01:00
James Benton
101c2f18ef
coreinit: Fix simple TODO.
2016-08-25 01:34:51 +01:00
James Benton
0efd206c7a
coreinit: Fix OSJoinThread.
2016-08-25 01:34:46 +01:00
James Benton
d4b5223798
coreinit: Add missing CHECK_OFFSET for OSThread members.
...
Fixes #349
2016-08-25 00:47:10 +01:00
Brett Lawson
ebe5de4fcb
Updated SwapBuffers to be based on vsyncing.
...
It used to flip immediately whenever it was encountered
in the command stream. This caused games to render
more than their target FPS (150fps Xenoblade menu anyone?)
2016-08-24 23:29:43 -07:00
Brett Lawson
ed3b697b22
Run occlusion queries asynchronously.
...
This stops occlusion query value retrieval from causing a
GPU stall.
2016-08-24 23:29:43 -07:00
Brett Lawson
51bc8a581b
Implement synchronization of the guest and host GPUs.
...
This commit will allow us to rewrite some of the streamout
and other logic such that it no longer blocks the host GPU
directly, but only blocks PPC waiting for stuff. Note that
I originally had it checking the sync objects after every
pm4 command, but this had a lot of overhead, and I don't
believe it will make any real difference.
2016-08-24 23:29:42 -07:00
Brett Lawson
3a2a520e9f
Fix bug in OSSetThreadCancelState update.
...
Re-re-re-re-reversing some of these methods now... :D
2016-08-24 18:44:04 -07:00
James Benton
f7c149048c
opengl: Add better assert message for PARAM_GEN.
2016-08-25 00:47:29 +01:00
Andrew Church
6bc50065c4
swkbd: Fix format of string returned by GetInputFormString().
...
The string should be in 16-bit units, not 32-bit, and in big-endian.
2016-08-25 00:36:59 +01:00
Tanner Taylor
2d1252db53
Added new option --log-dir to specify a directory for log file
2016-08-25 00:35:04 +01:00
James Benton
a87b2d31cb
coreinit: Fix MPRunTasksFromTaskQ.
...
Tasks is the number of tasks to dequeue and run at one time,
NOT the total number of tasks to run.
2016-08-24 19:27:04 +01:00
James Benton
5718da959b
coreinit: Fix some handling of placing threads in the active queue.
2016-08-24 19:13:06 +01:00
James Benton
18a8c6d24e
coreinit: Fix OSThreadLink prev and next members being swapped.
2016-08-24 18:22:12 +01:00
James Benton
3bb277e51e
coreinit: Fix OSDetachThread.
2016-08-24 18:09:41 +01:00
James Benton
2869232f00
coreinit: Fix spinlock to update cancelState.
2016-08-24 18:04:16 +01:00
James Benton
0ec93f9584
coreinit: Fix other timeout methods to also use nanosToTicks.
2016-08-24 18:04:16 +01:00
James Benton
0df51b3eff
coreinit: Fix spinlock to use an atomic big endian value.
2016-08-24 18:04:16 +01:00
James Benton
e52cb2b7d9
coreinit: Return actual game region code from meta.xml in MCP_GetSysProdSettings.
2016-08-24 18:04:16 +01:00
James Benton
1614ea8526
opengl: Fix implicit cast from size_t to gl::GLsizei
2016-08-24 18:04:16 +01:00
James Benton
f78bb411f4
coreinit: Add some asserts for valid pointers in coreinit_fastmutex
2016-08-24 18:04:16 +01:00