Commit Graph

52 Commits (8ed9f9d49f716487f14736c48a7850129a5910ba)

Author SHA1 Message Date
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 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 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
Yuri Kunde Schlesner c135317de1 VideoCore/Shader: Extract DebugData out from UnitState 9 years ago
Yuri Kunde Schlesner f00ada3363 VideoCore: Eliminate an unnecessary copy in the drawcall loop 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 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
Jannik Vogel ff0fa86b17 Retrieve shader result from new OutputRegisters-type 9 years ago
Jannik Vogel 1308afe2c2 Use new shader-jit signature for interpreter 9 years ago
Jannik Vogel 4e01e9ffc5 Refactor access to state in shader-jit 9 years ago
Jannik Vogel 7e756faaba Move program_counter and call_stack from UnitState to interpreter 9 years ago
Jannik Vogel ae7a82fa1c Turn ShaderSetup into struct 9 years ago
Jannik Vogel 696cb197a5 Pica: Replace logic in shader.cpp with loop 9 years ago
Emmanuel Gil Peyrot 691a42fe98 VideoCore: Run include-what-you-use and fix most includes. 9 years ago
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.
9 years ago
bunnei 3f623b2561 shader_jit_x64.cpp: Rename JitCompiler to JitShader. 9 years ago
bunnei ffcf7ecee9 shader: Remove unused 'state' argument from 'Setup' function. 9 years ago
bunnei a5a74eb121 shader_jit_x64: Specify shader main offset at runtime. 9 years ago
bunnei c9d10de644 shader_jit_x64: Allocate each program independently and persist for emu session. 9 years ago
Mathew Maidment aa6380e5bc Merge pull request #1643 from MerryMage/make_unique
Common: Remove Common::make_unique, use std::make_unique
9 years ago
MerryMage a06dcfeb61 Common: Remove Common::make_unique, use std::make_unique 9 years ago
bunnei ebbba0d381 Merge pull request #1508 from JayFoxRox/vs-output-map
Respect vs output map
9 years ago
Jannik Vogel f746a00964 Respect vs output map 9 years ago
bunnei 6efb710b28 shader_jit_x64: Clear cache after code space fills up. 9 years ago
bunnei 46f78b7f19 shader: Update log message to use proper log class. 9 years ago
Dwayne Slater 6b775034dd Add immediate mode vertex submission 9 years ago
bunnei b003075570 pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
10 years ago
Lioncash 526eb33d1e video_core: Remove unused variables 10 years ago
archshift dd0e1061ef Shader JIT: ifdef out reference to ifdef'd out shader_map
shader_map was only defined on x86 architectures, but was cleared on shutdown
with no ifdef protection. Ifdef this out so non-x86 architectures can be built.
10 years ago
Yuri Kunde Schlesner 0fcabd2b11 Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
10 years ago
Tony Wasserka 33ba604fd9 Introduce a shader tracer to allow inspection of input/output values for each processed instruction. 10 years ago
Tony Wasserka 4cb302c8ae citra-qt: Improve shader debugger.
Now supports dumping the current shader and recognizes a larger number of output semantics.
10 years ago
bunnei db97090cad Shader: Use a POD struct for registers. 10 years ago
bunnei b39c053785 Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64. 10 years ago
bunnei bd7e691f78 x64: Refactor to remove fake interfaces and general cleanups. 10 years ago
bunnei 094ae6fadb Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
10 years ago