aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2017-05-16Merge pull request #2703 from wwylele/pica-reg-reviseYuri Kunde Schlesner
pica: correct bit field length for some registers
2017-05-16pica: correct bit field length for some registerswwylele
2017-05-12Pica: Write GS registersJannik Vogel
This adds the handlers for the geometry shader register writes which will call the functions from the previous commit to update registers for the GS.
2017-05-12Pica: Write shader registers in functionsJannik Vogel
The commit after this one adds GS register writes, so this moves the VS handlers into functions so they can be re-used and extended more easily.
2017-05-11Pica: Set program code / swizzle data limit to 4096Jannik Vogel
One of the later commits will enable writing to GS regs. It turns out that on startup, most games will write 4096 GS program words. The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages: ``` HW.GPU <Error> video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024 ``` New constants have been introduced to represent these limits. The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]).
2017-05-05pica: shader_dirty if texture2 coord changedwwylele
2017-05-03pica: use correct coordinates for texture 2wwylele
2017-04-21Merge pull request #2671 from wwylele/dot3-rgbabunnei
rasterizer: implement combiner operation 7 (Dot3_RGBA)
2017-04-20gl_shader_gen: remove TODO about Lerp behaviour verification. The ↵wwylele
implementation is verified against hardware
2017-04-19rasterizer: implement combiner operation 7 (Dot3_RGBA)wwylele
2017-04-17OpenGL: Pass Pica regs via parameterYuri Kunde Schlesner
2017-04-16OpenGL: Move PicaShaderConfig to gl_shader_gen.hYuri Kunde Schlesner
Also move the implementation of CurrentConfig to the cpp file.
2017-04-16OpenGL: Move Attributes enum to a more appropriate fileYuri Kunde Schlesner
2017-04-08Pica/Regs: Correct bit width for blend-equationsJannik Vogel
2017-03-01Input: remove unused stuff & clean upwwylele
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID 2. removed button handling in EmuWindow 3. removed key_map 4. cleanup #include
2017-02-26Doxygen: Amend minor issues (#2593)Mat M
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.
2017-02-26Core: Re-write frame limiterYuri Kunde Schlesner
Now based on std::chrono, and also works in terms of emulated time instead of frames, so we can in the future frame-limit even when the display is disabled, etc. The frame limiter can also be enabled along with v-sync now, which should be useful for those with displays running at more than 60 Hz.
2017-02-26Core: Make PerfStats internally lockedYuri Kunde Schlesner
More ergonomic to use and will be required for upcoming changes.
2017-02-26Remove built-in (non-Microprofile) profilerYuri Kunde Schlesner
2017-02-26Add performance statistics to status barYuri Kunde Schlesner
2017-02-18OpenGL: Check if uniform block exists before updating it (#2581)Jannik Vogel
2017-02-15video_core: remove #pragma once in cpp file (#2570)Weiyi Wang
2017-02-12SWRasterizer: Move more framebuffer functions to fileYuri Kunde Schlesner
2017-02-12SWRasterizer: Move texturing functions to their own fileYuri Kunde Schlesner
2017-02-12SWRasterizer: Convert large no-capture lambdas to standalone functionsYuri Kunde Schlesner
2017-02-12SWRasterizer: Move framebuffer operation functions to their own fileYuri Kunde Schlesner
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