aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2017-02-12VideoCore: Move software rasterizer files to sub-directoryYuri Kunde Schlesner
2017-02-12video_core/shader: Document sanitized MUL operationYuri Kunde Schlesner
2017-02-12Merge pull request #2550 from yuriks/pica-refactor2Yuri Kunde Schlesner
Small VideoCore cleanups
2017-02-10video_core: Fix benign out-of-bounds indexing of array (#2553)Yuri Kunde Schlesner
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
2017-02-09VideoCore: Split u64 Pica reg unions into 2 separate u32 unionsYuri Kunde Schlesner
This eliminates UB when aliasing it with the array of u32 regs, and is compatible with non-LE architectures.
2017-02-09VideoCore: Force enum sizes to u32 in LightingRegsYuri Kunde Schlesner
All enums that are used with BitField must have their type forced to u32 to ensure correctness.
2017-02-09OpenGL: Remove unused duplicate of IsPassThroughTevStageYuri Kunde Schlesner
This copy was left behind when the shader generation code was moved to a separate file.
2017-02-09VideoCore: Split regs.h inclusionsYuri Kunde Schlesner
2017-02-09Pica/Regs: Use binary search to look up reg namesYuri Kunde Schlesner
This gets rid of the static unordered_map. Also changes the return type const char*, avoiding unnecessary allocations (the result was only used by calling .c_str() on it.)
2017-02-08VideoCore: Use union to index into Regs structYuri Kunde Schlesner
Also remove some unused members.
2017-02-08Merge pull request #2482 from yuriks/pica-refactorYuri Kunde Schlesner
Split up monolithic Regs struct
2017-02-05Use std::array<u8,2> instead of u8[2] to fix MSVC buildLectem
2017-02-04VideoCore: Move Regs to its own fileYuri Kunde Schlesner
2017-02-04VideoCore: Split shader regs from Regs structYuri Kunde Schlesner
2017-02-04VideoCore: Split geometry pipeline regs from Regs structYuri Kunde Schlesner
2017-02-04VideoCore: Split lighting regs from Regs structYuri Kunde Schlesner
2017-02-04VideoCore: Split framebuffer regs from Regs structYuri Kunde Schlesner
2017-02-04VideoCore: Split texturing regs from Regs structYuri Kunde Schlesner
2017-02-04VideoCore: Split rasterizer regs from Regs structYuri Kunde Schlesner
2017-02-04Merge pull request #2476 from yuriks/shader-refactor3Yuri Kunde Schlesner
Oh No! More shader changes!
2017-02-04Pica/Texture: Move part of ETC1 decoding to new file and cleanupsYuri Kunde Schlesner
2017-02-04Pica/Texture: Simplify/cleanup texture tile addressingYuri Kunde Schlesner
2017-02-04VideoCore: Move LookupTexture out of debug_utils.hYuri Kunde Schlesner
2017-02-03ShaderJIT: add 16 dummy bytes at the bottom of the stackwwylele
2017-01-31Common/x64: remove legacy emitter and abi (#2504)Weiyi Wang
These are not used any more since we moved shader JIT to xbyak.
2017-01-31shader_jit_x64_compiler: esi and edi should be persistent (#2500)Merry
2017-01-29VideoCore: Make PrimitiveAssembler const-correctYuri Kunde Schlesner
2017-01-29VideoCore: Extract swrast-specific data from OutputVertexYuri Kunde Schlesner
2017-01-29VideoCore/Shader: Clean up OutputVertex::FromAttributeBufferYuri Kunde Schlesner
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.
2017-01-29VideoCore: Split shader output writing from semantic loadingYuri Kunde Schlesner
2017-01-29VideoCore: Consistently use shader configuration to load attributesYuri Kunde Schlesner
2017-01-29VideoCore: Use correct register for immediate mode attribute countYuri Kunde Schlesner
2017-01-29VideoCore: Rename some types to more accurate namesYuri Kunde Schlesner
2017-01-29VideoCore: Change misleading register namesYuri Kunde Schlesner
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-30video_core: gl_rasterizer_cache.cpp removed unused type aliasKloen
2017-01-30video_core: gl_rasterizer.cpp removed unused type aliasKloen
2017-01-29video_core: silence unused-local-typedef boost related warning on GCCKloen
2017-01-25VideoCore/Shader: Move entry_point to SetupBatchYuri Kunde Schlesner
2017-01-25VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetupYuri Kunde Schlesner
2017-01-25Shader: Remove OutputRegisters structYuri Kunde Schlesner
2017-01-25Shader: Initialize conditional_code in interpreterYuri Kunde Schlesner
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.
2017-01-25Shader: Don't read ShaderSetup from global stateYuri Kunde Schlesner
2017-01-25shader_jit_x64: Don't read program from global stateYuri Kunde Schlesner
2017-01-25VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngineYuri Kunde Schlesner
2017-01-25VideoCore/Shader: Split interpreter and JIT into separate ShaderEnginesYuri Kunde Schlesner
2017-01-25VideoCore/Shader: Rename shader_jit_x64{ => _compiler}.{cpp,h}Yuri Kunde Schlesner
2017-01-25VideoCore/Shader: Split shader uniform state and shader engineYuri Kunde Schlesner
Currently there's only a single dummy implementation, which will be split in a following commit.
2017-01-25VideoCore/Shader: Add constness to methodsYuri Kunde Schlesner
2017-01-25VideoCore/Shader: Use only entry_point as ShaderSetup paramYuri Kunde Schlesner
This removes all implicit dependency of ShaderState on global PICA state.
2017-01-25VideoCore/Shader: Use self instead of g_state.vs in ShaderSetupYuri Kunde Schlesner