Commit graph

5952 commits

Author SHA1 Message Date
Subv
5979796df8 GPU: Renamed ShaderType to ShaderStage as that is less confusing. 2018-03-17 18:32:57 -05:00
Subv
7b48098c60 GPU: Store shader constbuffer bindings in the GPU state. 2018-03-17 18:32:57 -05:00
Subv
5f181aec24 GPU: Corrected some register offsets and removed superfluous macro registers. 2018-03-17 18:32:56 -05:00
Subv
8a5c0e873b GPU: Make the SetShader macro call do the same as the real macro's code.
It'll now set the CB_SIZE, CB_ADDRESS and CB_BIND registers when it's called.

Presumably this SetShader function is binding the constant shader uniforms to buffer 1 (c1[]).
2018-03-17 18:32:55 -05:00
Subv
e3e0625ff7 GPU: Corrected the parameter documentation for the SetShader macro call.
Register 0xE24 is actually a macro that sets some shader parameters in the register structure.

Macros are uploaded to the GPU at startup and have their own ISA, we'll probably write an interpreter for this in the future.
2018-03-17 13:55:42 -05:00
bunnei
bed06310f2 Merge pull request #242 from Subv/set_shader
GPU: Handle the SetShader method call (0xE24) and store the shader config.
2018-03-17 00:34:17 -04:00
bunnei
78d81b84e4 Merge pull request #243 from Subv/vertex_buffer
GPU: Added the vertex array registers.
2018-03-17 00:04:31 -04:00
Subv
c9850b0d3a GPU: Handle the SetShader method call (0xE24) and store the shader config. 2018-03-16 22:51:06 -05:00
Subv
dbade2db3e GPU: Added the vertex array registers. 2018-03-16 22:47:45 -05:00
bunnei
b849a04b2f Merge pull request #241 from Subv/gpu_method_call
GPU: Process command mode 5 (IncreaseOnce) differently from other commands
2018-03-16 22:28:22 -04:00
Subv
6796e37911 GPU: Process command mode 5 (IncreaseOnce) differently from other commands.
Accumulate all arguments before calling the desired method.

Note: Maybe we should do the same for the NonIncreasing mode?
2018-03-16 20:32:44 -05:00
bunnei
2c2acce091 Merge pull request #239 from Subv/shaders
GPU: Added some shader-related registers.
2018-03-16 21:09:35 -04:00
bunnei
3f1b1e34e9 Merge pull request #238 from bunnei/fix-buffer-check
nvflinger: Remove superfluous buffer format check.
2018-03-16 21:04:39 -04:00
Subv
3247b8f9dd GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine.
Shader address calculation depends on this value to some extent, we do not currently know what it being 0 entails.
2018-03-16 19:24:41 -05:00
Subv
d468c046f9 GPU: Added Maxwell registers for Shader Program control. 2018-03-16 19:23:11 -05:00
bunnei
b437a08a21 nvflinger: Remove superfluous buffer format check. 2018-03-16 20:11:50 -04:00
bunnei
23c0f07893 Merge pull request #232 from bunnei/heap-fixes
Various heap fixes for libtransistor
2018-03-16 20:06:27 -04:00
bunnei
dd2e72f1aa process: MirrorMemory should use MemoryState::Mapped. 2018-03-16 19:24:54 -04:00
bunnei
d7bb09afe7 process: Unmap previously allocated heap. 2018-03-16 18:32:25 -04:00
bunnei
256153c50c arm_interface: Support unmapping previously mapped memory. 2018-03-16 18:32:24 -04:00
bunnei
a0b00fe2d1 svc: Use more correct values for GetInfo MapRegion and NewMapRegion. 2018-03-16 18:32:23 -04:00
bunnei
a26561ce20 kernel: Move stack region outside of application heap. 2018-03-16 18:32:23 -04:00
bunnei
89312134f6 memory: Add regions for map region, "new" map region, etc. 2018-03-16 18:32:22 -04:00
bunnei
67bac363d8 process: Fix stack memory state. 2018-03-16 18:32:21 -04:00
bunnei
29bda49fc0 MemoryState: Add additional memory states and improve naming. 2018-03-16 18:32:21 -04:00
bunnei
0143a21c70 Merge pull request #237 from mailwl/nifm-module
Service/NIFM: convert to module
2018-03-16 18:26:02 -04:00
mailwl
f5fbe99e28 IGeneralService: fix function list 2018-03-16 16:34:12 +03:00
mailwl
44739126a5 Service/NIFM: stub cancel function 2018-03-16 11:08:22 +03:00
mailwl
db6c7e714c Service/NIFM: convert to module 2018-03-16 11:00:29 +03:00
bunnei
3ceb9d97bb Merge pull request #236 from bunnei/refactor-process-creation
core: Move process creation out of global state.
2018-03-14 19:33:27 -04:00
bunnei
f16763ed52 core: Move process creation out of global state. 2018-03-14 18:42:19 -04:00
bunnei
b2b51850a1 Merge pull request #213 from Hexagon12/dynarmic-default
Make Dynarmic the default CPU core
2018-03-07 18:21:13 -05:00
bunnei
ac6fe3fd01 Merge pull request #230 from Subv/gpu_draw
GPU: Intercept writes to the VERTEX_END_GL register.
2018-03-05 09:58:58 -05:00
Subv
083e494083 GPU: Intercept writes to the VERTEX_END_GL register.
This is the register that gets written after a game calls DrawArrays().

We should collect all GPU state and draw using our graphics API here.
2018-03-04 19:14:04 -05:00
bunnei
7dd960f543 Merge pull request #229 from Subv/ensuresavedata_impl
FS: Make EnsureSaveData create the save data if it doesn't already exist.
2018-03-04 15:49:42 -05:00
Subv
cb738dedb2 FS: Use the correct error code when trying to open files that don't exist. 2018-03-04 14:34:48 -05:00
Subv
4a8b2154d7 FS: Stubbed CreateSaveData. It currently does nothing. 2018-03-04 14:31:57 -05:00
Subv
9702f6c2ed FS: Make EnsureSaveData create the savedata folder when called for the first time. 2018-03-04 14:30:07 -05:00
bunnei
a92acdc07f Merge pull request #228 from Subv/unschedule_events
CoreTiming: Unschedule the pending events when an Interface is destroyed
2018-03-04 11:52:08 -05:00
Subv
6ac79e3a43 CoreTiming: Unschedule the pending events when an Interface is destroyed. 2018-03-04 10:34:25 -05:00
bunnei
64bf9f8cdf Merge pull request #226 from Subv/buffer_queue_event
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called
2018-03-03 12:38:18 -05:00
bunnei
cc715c3a47 Merge pull request #225 from mailwl/settings
Service/Set: add more services
2018-03-03 12:25:13 -05:00
Subv
1fddc7fe43 Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called.
This prevents a thread starvation issue in Puyo Puyo Tetris.
We should hwtest this behavior and figure out where exactly this event is signaled.
2018-03-03 11:51:36 -05:00
mailwl
481a083593 Service/Set: add more services 2018-03-03 09:03:49 +03:00
bunnei
32f3523ce1 Merge pull request #216 from Subv/savedata
Implemented the SaveData archive and MountSaveData.
2018-03-01 22:14:31 -05:00
Subv
b874d4f2b0 SaveData: Use the current titleid when opening the savedata archive. 2018-03-01 19:03:54 -05:00
Subv
a9c51be95e Kernel: Store the program id in the Process class instead of the CodeSet class.
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-03-01 19:03:53 -05:00
Subv
77e64ac9b2 FS: Implement MountSaveData and some of the IFile interface. 2018-03-01 19:03:53 -05:00
Subv
dfdc72efa7 Filesystem: Added a SaveData Factory and associated Disk_FileSystem. 2018-03-01 19:03:52 -05:00
bunnei
2f22d08dc1 Merge pull request #224 from Armada651/clear-process
thread: Clear the process list on shutdown.
2018-02-27 22:01:55 -08:00