citra/src/video_core/shader
Dwayne Slater 41929371dc Optimize AttributeBuffer to OutputVertex conversion (#3283)
Optimize AttributeBuffer to OutputVertex conversion

First I unrolled the inner loop, then I pushed semantics validation
outside of the hotloop.

I also added overflow slots to avoid conditional branches.

Super Mario 3D Land's intro runs at almost full speed when compiled with
Clang, and theres a noticible speed increase in MSVC. GCC hasn't been
tested but I'm confident in its ability to optimize this code.
2018-01-02 15:32:33 -08:00
..
debug_data.h VideoCore/Shader: Extract DebugData out from UnitState 2016-12-16 00:16:25 -08:00
shader_interpreter.cpp pica/shader/interpreter: implement SETEMIT and EMIT 2017-08-19 10:13:20 +03:00
shader_interpreter.h Doxygen: Amend minor issues (#2593) 2017-02-26 17:58:51 -08:00
shader_jit_x64_compiler.cpp fixup! shader_jit_x64_compiler: Use haddps for horizontal summation 2017-12-12 15:37:00 +00:00
shader_jit_x64_compiler.h shader_jit_x64_compiler: Remove ABI overhead of LG2 and EX2 2017-11-30 18:17:35 +00:00
shader_jit_x64.cpp Pica: Set program code / swizzle data limit to 4096 2017-05-11 15:01:27 +02:00
shader_jit_x64.h VideoCore/Shader: Move entry_point to SetupBatch 2017-01-25 18:53:25 -08:00
shader.cpp Optimize AttributeBuffer to OutputVertex conversion (#3283) 2018-01-02 15:32:33 -08:00
shader.h Optimize AttributeBuffer to OutputVertex conversion (#3283) 2018-01-02 15:32:33 -08:00