Mat M
0cb52ee74a
Doxygen: Amend minor issues ( #2593 )
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
9 years ago
Yuri Kunde Schlesner
e10b11a5d0
video_core/shader: Document sanitized MUL operation
9 years ago
Yuri Kunde Schlesner
e2fa1ca5e1
video_core: Fix benign out-of-bounds indexing of array ( #2553 )
The resulting pointer wasn't written to unless the index was verified as
valid, but that's still UB and triggered debug checks in MSVC.
Reported by garrettboast on IRC
9 years ago
Yuri Kunde Schlesner
60fc0b086f
VideoCore: Split regs.h inclusions
9 years ago
Yuri Kunde Schlesner
5759d94b5c
VideoCore: Move Regs to its own file
9 years ago
Yuri Kunde Schlesner
f7c7f422c6
VideoCore: Split shader regs from Regs struct
9 years ago
Yuri Kunde Schlesner
000e78144c
VideoCore: Split rasterizer regs from Regs struct
9 years ago
wwylele
6dc1d6e568
ShaderJIT: add 16 dummy bytes at the bottom of the stack
9 years ago
Weiyi Wang
0b9c59ff22
Common/x64: remove legacy emitter and abi ( #2504 )
These are not used any more since we moved shader JIT to xbyak.
9 years ago
Merry
f7e96dc068
shader_jit_x64_compiler: esi and edi should be persistent ( #2500 )
9 years ago
Yuri Kunde Schlesner
dcdffabfe6
VideoCore: Extract swrast-specific data from OutputVertex
9 years ago
Yuri Kunde Schlesner
8ed9f9d49f
VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer
This also fixes a long-standing but neverthless harmless memory
corruption bug, whech the padding of the OutputVertex struct would get
corrupted by unused attributes.
9 years ago
Yuri Kunde Schlesner
92bf5c88e6
VideoCore: Split shader output writing from semantic loading
9 years ago
Yuri Kunde Schlesner
335df895b9
VideoCore: Consistently use shader configuration to load attributes
9 years ago
Yuri Kunde Schlesner
ab6954e942
VideoCore: Rename some types to more accurate names
9 years ago
Yuri Kunde Schlesner
0e9081b973
VideoCore/Shader: Move entry_point to SetupBatch
9 years ago
Yuri Kunde Schlesner
0f64274145
VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup
9 years ago
Yuri Kunde Schlesner
6fa3687afc
Shader: Remove OutputRegisters struct
9 years ago
Yuri Kunde Schlesner
9ea5eacf91
Shader: Initialize conditional_code in interpreter
This doesn't belong in LoadInputVertex because it also happens for
non-VS invocations. Since it's not used by the JIT it seems adequate to
initialize it in the interpreter which is the only thing that cares
about them.
9 years ago
Yuri Kunde Schlesner
1a2acc3baa
Shader: Don't read ShaderSetup from global state
9 years ago
Yuri Kunde Schlesner
fa4ac279a7
shader_jit_x64: Don't read program from global state
9 years ago
Yuri Kunde Schlesner
ade7ed7c5f
VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine
9 years ago
Yuri Kunde Schlesner
114d6b2f97
VideoCore/Shader: Split interpreter and JIT into separate ShaderEngines
9 years ago
Yuri Kunde Schlesner
8eefc62833
VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}
9 years ago
Yuri Kunde Schlesner
dd4a1672a7
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.
9 years ago
Yuri Kunde Schlesner
bd82cffd0b
VideoCore/Shader: Add constness to methods
9 years ago
Yuri Kunde Schlesner
1e1f939817
VideoCore/Shader: Use only entry_point as ShaderSetup param
This removes all implicit dependency of ShaderState on global PICA
state.
9 years ago
Yuri Kunde Schlesner
e3caf669b0
VideoCore/Shader: Use self instead of g_state.vs in ShaderSetup
9 years ago
Yuri Kunde Schlesner
34d581f2dc
VideoCore/Shader: Extract input vertex loading code into function
9 years ago
Kloen
5cc94c17f6
video_core: fix shader.cpp signed / unsigned warning
9 years ago
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
9 years ago
Yuri Kunde Schlesner
c135317de1
VideoCore/Shader: Extract DebugData out from UnitState
9 years ago
Yuri Kunde Schlesner
6e7e767645
Remove unnecessary cast
9 years ago
Yuri Kunde Schlesner
b5e3599704
VideoCore/Shader: Extract evaluate_condition lambda to function scope
9 years ago
Yuri Kunde Schlesner
960578f4e1
VideoCore/Shader: Extract call lambda up a scope and remove unused param
9 years ago
Yuri Kunde Schlesner
e4e962bc7c
VideoCore/Shader: Remove dynamic control flow in (Get)UniformOffset
9 years ago
Yuri Kunde Schlesner
d27cb1dedc
VideoCore/Shader: Move DebugData to a separate file
9 years ago
Yuri Kunde Schlesner
fb9e856b91
shader_jit_x64: Use LOOPCOUNT_REG as a 64-bit reg when indexing
9 years ago
Yuri Kunde Schlesner
f00ada3363
VideoCore: Eliminate an unnecessary copy in the drawcall loop
9 years ago
Yuri Kunde Schlesner
5ff3206207
shader_jit_x64: Use Reg32 for LOOP* registers, eliminating casts
9 years ago
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
9 years ago
Jannik Vogel
2d8097eecc
shader_jit: Fix non-SSE4.1 path where FLR would not truncate
9 years ago
Jannik Vogel
e2cb7d7833
shader_jit: Load LOOPCOUNT_REG and LOOPINC 4 bit left-shifted
9 years ago
Yuri Kunde Schlesner
d9a904f9cb
VideoCore: Shader interpreter cleanups
9 years ago
Yuri Kunde Schlesner
26b68313b9
VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfo
As far as I can tell, memset was replaced by a fill without correcting
the parameter type, causing an out-of-bounds array read in the Vec4
constructor.
9 years ago
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
9 years ago
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
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.
9 years ago
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
9 years ago
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
9 years ago