Yuri Kunde Schlesner
675d483535
Merge pull request #2697 from wwylele/proctex
...
Implemented Procedural Texture (Texture Unit 3)
2017-05-24 21:37:42 -07:00
wwylele
eba689e736
pica/swrasterizer: implement procedural texture
2017-05-20 13:50:50 +03:00
wwylele
53a6a4a83f
pica: use correct register value for shader bool_uniforms
...
variable value is not masked. the masked and combined register value should be used instead
2017-05-17 22:14:09 +03:00
Jannik Vogel
35570252e1
Pica: Write GS registers
...
This adds the handlers for the geometry shader register writes which will call the functions from the previous commit to update registers for the GS.
2017-05-12 16:22:37 +02:00
Jannik Vogel
ee56dfd830
Pica: Write shader registers in functions
...
The commit after this one adds GS register writes, so this moves the VS handlers into functions so they can be re-used and extended more easily.
2017-05-12 16:22:37 +02:00
Yuri Kunde Schlesner
a06a119de1
VideoCore: Split regs.h inclusions
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner
08f4529f6f
VideoCore: Use union to index into Regs struct
...
Also remove some unused members.
2017-02-08 22:13:25 -08:00
Yuri Kunde Schlesner
923814f99e
VideoCore: Move Regs to its own file
2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner
4b0034dcd8
VideoCore: Split geometry pipeline regs from Regs struct
2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
1f32112203
VideoCore: Split texturing regs from Regs struct
2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner
140df6dd53
VideoCore: Split rasterizer regs from Regs struct
2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner
1c92cc7250
VideoCore: Split shader output writing from semantic loading
2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
b3b1d7fdd3
VideoCore: Consistently use shader configuration to load attributes
2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
108279920f
VideoCore: Use correct register for immediate mode attribute count
2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
9f0f5d5937
VideoCore: Rename some types to more accurate names
2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
5547b0a330
VideoCore: Change misleading register names
...
A few registers had names such as "count" or "number" when they actually
contained the maximum (that is, count - 1). This can easily lead to hard
to notice off by one errors.
2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
18324c6e80
VideoCore/Shader: Move entry_point to SetupBatch
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
454b464c55
VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
8140f649a6
Shader: Remove OutputRegisters struct
2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
e38a8280e6
VideoCore/Shader: Split shader uniform state and shader engine
...
Currently there's only a single dummy implementation, which will be
split in a following commit.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
20e3c94102
VideoCore/Shader: Use only entry_point as ShaderSetup param
...
This removes all implicit dependency of ShaderState on global PICA
state.
2017-01-25 18:53:23 -08:00
Yuri Kunde Schlesner
46c74145be
VideoCore/Shader: Extract input vertex loading code into function
2017-01-25 18:53:20 -08:00
bunnei
9e49c66582
Merge pull request #2319 from yuriks/profile-scopes
...
VideoCore: Make profiling scope more representative
2016-12-21 13:33:49 -05:00
bunnei
fa36295bcf
Merge pull request #2318 from yuriks/trace-opt
...
VideoCore: Inline IsPicaTracing
2016-12-18 21:15:24 -05:00
Yuri Kunde Schlesner
13b3d9b31d
VideoCore/Shader: Extract DebugData out from UnitState
2016-12-16 00:16:25 -08:00
Yuri Kunde Schlesner
164e31d58d
VideoCore: Make profiling scope more representative
2016-12-14 22:52:09 -08:00
Yuri Kunde Schlesner
75563c3d60
VideoCore: Inline IsPicaTracing
...
Speeds up ALBW main menu slightly (~3%)
2016-12-14 22:06:40 -08:00
Yuri Kunde Schlesner
9fa90e1c93
VideoCore: Eliminate an unnecessary copy in the drawcall loop
2016-12-14 21:00:29 -08:00
Lioncash
b01bc59735
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Emmanuel Gil Peyrot
1af2c6d212
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
jphalimi
28b8289ef1
Cache Vertices instead of Output registers ( #2165 )
...
This patch brings +3% performance improvement on average. It removes
ToVertex() as an important hotspot of the emulator.
2016-11-23 23:10:34 -05:00
wwylele
a9aded1653
Fix format error from #2195
2016-11-22 20:17:28 +02:00
Subv
3d7a574e3f
GPU/CiTrace: Avoid calling GetTextures() when not necessary.
2016-11-19 19:27:00 -05:00
Ricardo de Almeida Gonzaga
5331d83994
Fix typos
2016-10-20 12:26:59 -02:00
Yuri Kunde Schlesner
45751915a0
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
e4393f7ff2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
0e23caf9fd
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
7e8d205414
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Jannik Vogel
2f8879bb36
Pica: Add fog state
2016-06-07 00:06:28 +02:00
bunnei
55b10537f1
Merge pull request #1812 from JayFoxRox/refactor-shader
...
Retrieve shader result from new OutputRegisters-type
2016-05-31 18:12:56 -04:00
bunnei
4b2819da51
Merge pull request #1733 from lioncash/vert_loader
...
VertexLoader: Minor changes
2016-05-23 21:13:34 -04:00
Jannik Vogel
d66f7dda35
Retrieve shader result from new OutputRegisters-type
2016-05-16 18:55:51 +02:00
Jannik Vogel
6db8a8fb39
Move default_attributes into Pica state
2016-05-12 19:05:41 +02:00
Jannik Vogel
631bae020f
Turn ShaderSetup into struct
2016-05-11 23:48:24 +02:00
Lioncash
14eab63906
vertex_loader: Add constructors to facilitate immediate and two-step initialization
2016-05-08 23:03:32 -04:00
Jannik Vogel
fe94aadb3a
Pica: Rename VertexLoaded breakpoint to VertexShaderInvocation
2016-05-04 10:21:51 +02:00
Emmanuel Gil Peyrot
d6164b8022
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
bunnei
5d8e3336c1
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
8cbdb6e6c4
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
9f1cffa3e9
Move and rename the MemoryAccesses class to MemoryAccessTracker.
2016-04-29 08:50:21 +02:00