Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Yuri Kunde Schlesner
a3afeb4687
VideoCore: Fix dangling lambda context in shader interpreter
...
The static meant that after the first execution, these lambda context
would be pointing to a random location on the stack. Fixes a random
crash when using the interpreter.
2016-09-15 22:15:11 -07:00
Jannik Vogel
ff0fa86b17
Retrieve shader result from new OutputRegisters-type
2016-05-16 18:55:51 +02:00
Jannik Vogel
1308afe2c2
Use new shader-jit signature for interpreter
2016-05-13 09:41:55 +02:00
Jannik Vogel
4e01e9ffc5
Refactor access to state in shader-jit
2016-05-13 09:20:14 +02:00
Jannik Vogel
7e756faaba
Move program_counter and call_stack from UnitState to interpreter
2016-05-12 19:05:42 +02:00
Jannik Vogel
6c6d99ca51
Move default_attributes into Pica state
2016-05-12 19:05:41 +02:00
bunnei
f6eb62d062
Merge pull request #1690 from JayFoxRox/tex-type-3
...
Pica: Implement texture type 3 (Projection2D)
2016-05-11 21:47:08 -04:00
Jannik Vogel
ae7a82fa1c
Turn ShaderSetup into struct
2016-05-11 23:48:24 +02:00
Jannik Vogel
2f8e8e1455
Pica: Add tc0.w to OutputVertex
2016-05-11 08:07:36 +02:00
Jannik Vogel
696cb197a5
Pica: Replace logic in shader.cpp with loop
2016-05-03 01:40:47 +02:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01: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
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
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
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
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
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
bunnei
c9d10de644
shader_jit_x64: Allocate each program independently and persist for emu session.
2016-04-13 23:04:47 -04:00
bunnei
4632791a40
shader_jit_x64: Rewrite flow control to support arbitrary CALL and JMP instructions.
2016-04-13 23:04:44 -04:00
bunnei
135aec7bea
shader_jit_x64: Fix strict memory aliasing issues.
2016-04-13 23:04:43 -04:00
Mathew Maidment
aa6380e5bc
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
bunnei
ebbba0d381
Merge pull request #1508 from JayFoxRox/vs-output-map
...
Respect vs output map
2016-03-22 11:59:12 -04:00
bunnei
784c5539ea
Merge pull request #1538 from lioncash/dot
...
shader_interpreter: use std::inner_product for the dot product
2016-03-20 00:35:06 -04:00
Lioncash
63e956cc7a
video_core: Don't cast away const
2016-03-17 02:01:38 -04:00
Lioncash
4d89df8df2
shader_interpreter: use std::inner_product for the dot product
...
Same thing, less code.
2016-03-17 01:00:30 -04:00
bunnei
96cafbe4cc
Merge pull request #1503 from bunnei/clear-jit-cache
...
Clear JIT cache
2016-03-16 13:18:51 -04:00
Jannik Vogel
9aad2f29bb
PICA: Fix MAD/MADI encoding
2016-03-15 20:01:25 +01:00
Jannik Vogel
f746a00964
Respect vs output map
2016-03-14 13:03:34 +01:00
bunnei
6efb710b28
shader_jit_x64: Clear cache after code space fills up.
2016-03-12 12:15:49 -05:00
bunnei
c103759cdc
shader_jit_x64: Make assert outputs more useful & cleanup formatting.
2016-03-12 12:06:28 -05:00
bunnei
46f78b7f19
shader: Update log message to use proper log class.
2016-03-12 12:03:32 -05:00
Lioncash
88d604383e
Common: Get rid of alignment macros
...
The gl rasterizer already uses alignas,
so we may as well move everything over.
2016-03-09 01:31:14 -05:00
Dwayne Slater
6b775034dd
Add immediate mode vertex submission
2016-03-02 22:16:38 -05:00
bunnei
b003075570
pica: Implement decoding of basic fragment lighting components.
...
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
2016-02-05 17:17:28 -05:00
bunnei
a43f8d2fb7
Merge pull request #1367 from yuriks/jit-jmp
...
Shader JIT: Fix off-by-one error when compiling JMPs
2016-01-27 09:19:28 -05:00
Yuri Kunde Schlesner
083d2d89a5
Shader: Implement "invert condition" feature of IFU instruction
...
If the bit 0 of the JMPU instruction is set, then the jump condition
will be inverted. That is, a jump will happen when the boolean is false
instead of when it is true.
2016-01-24 20:29:06 -08:00
Yuri Kunde Schlesner
c1071c1ff7
Shader JIT: Fix off-by-one error when compiling JMPs
...
There was a mistake in the JMP code which meant that one instruction at
the destination would be skipped when the jump was taken. This commit
also changes the meaning of the culprit parameter to make it less
confusing and avoid similar mistakes in the future.
2016-01-24 02:15:56 -08:00