summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2550 from yuriks/pica-refactor2Yuri Kunde Schlesner2017-02-121-1/+2
|\ | | | | Small VideoCore cleanups
| * VideoCore: Split regs.h inclusionsYuri Kunde Schlesner2017-02-091-1/+2
| |
* | video_core: Fix benign out-of-bounds indexing of array (#2553)Yuri Kunde Schlesner2017-02-111-2/+1
|/ | | | | | 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
* VideoCore: Move Regs to its own fileYuri Kunde Schlesner2017-02-041-1/+1
|
* VideoCore: Split shader regs from Regs structYuri Kunde Schlesner2017-02-041-2/+2
|
* VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner2017-02-041-4/+4
|
* VideoCore: Extract swrast-specific data from OutputVertexYuri Kunde Schlesner2017-01-301-1/+1
|
* VideoCore/Shader: Clean up OutputVertex::FromAttributeBufferYuri Kunde Schlesner2017-01-301-9/+14
| | | | | | 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.
* VideoCore: Split shader output writing from semantic loadingYuri Kunde Schlesner2017-01-301-16/+13
|
* VideoCore: Consistently use shader configuration to load attributesYuri Kunde Schlesner2017-01-301-5/+6
|
* VideoCore: Rename some types to more accurate namesYuri Kunde Schlesner2017-01-301-1/+1
|
* Shader: Remove OutputRegisters structYuri Kunde Schlesner2017-01-261-5/+6
|
* Shader: Initialize conditional_code in interpreterYuri Kunde Schlesner2017-01-261-3/+0
| | | | | | | 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.
* VideoCore/Shader: Split interpreter and JIT into separate ShaderEnginesYuri Kunde Schlesner2017-01-261-79/+13
|
* VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}Yuri Kunde Schlesner2017-01-261-1/+1
|
* VideoCore/Shader: Split shader uniform state and shader engineYuri Kunde Schlesner2017-01-261-11/+33
| | | | | Currently there's only a single dummy implementation, which will be split in a following commit.
* VideoCore/Shader: Add constness to methodsYuri Kunde Schlesner2017-01-261-2/+2
|
* VideoCore/Shader: Use only entry_point as ShaderSetup paramYuri Kunde Schlesner2017-01-261-7/+9
| | | | | This removes all implicit dependency of ShaderState on global PICA state.
* VideoCore/Shader: Use self instead of g_state.vs in ShaderSetupYuri Kunde Schlesner2017-01-261-9/+7
|
* VideoCore/Shader: Extract input vertex loading code into functionYuri Kunde Schlesner2017-01-261-17/+13
|
* video_core: fix shader.cpp signed / unsigned warningKloen2017-01-231-2/+2
|
* VideoCore/Shader: Extract DebugData out from UnitStateYuri Kunde Schlesner2016-12-161-14/+12
|
* VideoCore: Eliminate an unnecessary copy in the drawcall loopYuri Kunde Schlesner2016-12-151-1/+1
|
* VideoCore: Fix out-of-bounds read in ShaderSetup::ProduceDebugInfoYuri Kunde Schlesner2016-09-301-3/+1
| | | | | | 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.
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-6/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-2/+2
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-19/+20
|
* Retrieve shader result from new OutputRegisters-typeJannik Vogel2016-05-161-50/+53
|
* Use new shader-jit signature for interpreterJannik Vogel2016-05-131-3/+3
|
* Refactor access to state in shader-jitJannik Vogel2016-05-131-1/+2
|
* Move program_counter and call_stack from UnitState to interpreterJannik Vogel2016-05-121-2/+0
|
* Turn ShaderSetup into structJannik Vogel2016-05-111-11/+11
|
* Pica: Replace logic in shader.cpp with loopJannik Vogel2016-05-031-34/+4
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-7/+11
|
* Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-3/+0
| | | | 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.
* shader_jit_x64.cpp: Rename JitCompiler to JitShader.bunnei2016-04-141-3/+3
|
* shader: Remove unused 'state' argument from 'Setup' function.bunnei2016-04-141-1/+1
|
* shader_jit_x64: Specify shader main offset at runtime.bunnei2016-04-141-3/+2
|
* shader_jit_x64: Allocate each program independently and persist for emu session.bunnei2016-04-141-20/+9
|
* Merge pull request #1643 from MerryMage/make_uniqueMathew Maidment2016-04-061-1/+0
|\ | | | | Common: Remove Common::make_unique, use std::make_unique
| * Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-1/+0
| |
* | Merge pull request #1508 from JayFoxRox/vs-output-mapbunnei2016-03-221-4/+14
|\ \ | |/ |/| Respect vs output map
| * Respect vs output mapJannik Vogel2016-03-141-4/+14
| |
* | shader_jit_x64: Clear cache after code space fills up.bunnei2016-03-121-1/+13
| |
* | shader: Update log message to use proper log class.bunnei2016-03-121-1/+1
|/
* Add immediate mode vertex submissionDwayne Slater2016-03-031-1/+2
|
* pica: Implement decoding of basic fragment lighting components.bunnei2016-02-051-2/+4
| | | | | | | - Diffuse - Distance attenuation - float16/float20 types - Vertex Shader 'view' output
* video_core: Remove unused variablesLioncash2015-09-101-1/+0
|
* Shader JIT: ifdef out reference to ifdef'd out shader_maparchshift2015-08-271-0/+2
| | | | | 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.
* Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-251-0/+3
| | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* Introduce a shader tracer to allow inspection of input/output values for each processed instruction.Tony Wasserka2015-08-161-4/+45
|
* citra-qt: Improve shader debugger.Tony Wasserka2015-08-161-6/+0
| | | | Now supports dumping the current shader and recognizes a larger number of output semantics.
* Shader: Use a POD struct for registers.bunnei2015-08-161-18/+18
|
* Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei2015-08-161-6/+5
|
* x64: Refactor to remove fake interfaces and general cleanups.bunnei2015-08-161-3/+6
|
* Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei2015-08-161-2/+40
| | | | | - Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT.
* Common: Added MurmurHash3 hash function for general-purpose use.bunnei2015-08-151-1/+1
|
* Shader: Define a common interface for running vertex shader programs.bunnei2015-08-151-0/+105