aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2017-07-11SwRasterizer: Calculate fresnel for fragment lighting.Subv
2017-07-11SwRasterizer: Calculate specular_1 for fragment lighting.Subv
2017-07-11SwRasterizer: Calculate specular_0 for fragment lighting.Subv
2017-07-11SwRasterizer: Implement primary fragment color.Subv
2017-07-01gl_rasterizer: use texture buffer for proctex LUTwwylele
2017-06-22gl_rasterizer: use texture buffer for fog LUTwwylele
2017-06-22gl_rasterizer: create the texture before applying the statewwylele
this is a rebasing error from #2792. It doesn't affect much though, because the later more Apply() call fixes/hides it
2017-06-21gl_state: reset 1d textureswwylele
2017-06-21gl_rasterizer: fix glGetUniformLocation typewwylele
2017-06-21gl_rasterizer: manage texture ids in one placewwylele
2017-06-21gl_rasterizer/lighting: fix LUT interpolationwwylele
2017-06-18Merge pull request #2776 from wwylele/geo-factorYuri Kunde Schlesner
Fragment lighting: implement geometric factor
2017-06-18gl_rasterizer/lighting: use the formula from the paper for germetic factorwwylele
2017-06-17Stop using reserved operator names (and/or/xor) with XbyakYuri Kunde Schlesner
Also has the Dynarmic upgrade with the same change
2017-06-15gl_rasterizer/lighting: implement geometric factorwwylele
2017-06-14Merge pull request #2762 from wwylele/light-cp-tangentYuri Kunde Schlesner
Fragment lighting: implement lut input 5 (CP) and tangent mapping
2017-06-13Merge pull request #2743 from wwylele/wrap-fixYuri Kunde Schlesner
pica/rasterizer: implement/stub texture wrap mode 4-7
2017-06-12Merge pull request #2767 from yuriks/quaternion-flip-commentYuri Kunde Schlesner
OpenGL: Update comment on AreQuaternionsOpposite with new information
2017-06-11gl_rasterizer/lighting: Implement tangent mappingwwylele
2017-06-11gl_rasterizer/lighting: implement lut input 5 (CP)wwylele
2017-06-11Merge pull request #2727 from wwylele/spot-lightSebastian Valle
Fragment lighting: implement spot light
2017-06-10gl_rasterizer_cache: depth write is disabled if allow_depth_stencil_write is ↵wwylele
false
2017-06-10OpenGL: Update comment on AreQuaternionsOpposite with new informationYuri Kunde Schlesner
While debugging the software renderer implementation, it was noticed that this is actually exactly what the hardware does, upgrading the status of this "hack" to being a proper implementation. And there was much rejoicing.
2017-06-04pica/rasterizer: implement/stub texture wrap mode 4-7wwylele
2017-05-30Merge pull request #2721 from wwylele/texture-cubebunnei
swrasterizer: implemented TextureCube
2017-05-30gl_rasterizer: implement spot lightwwylele
2017-05-30gl_rasterizer: sync spot light statuswwylele
2017-05-30pica: prepare registers for spotlightwwylele
2017-05-29Merge pull request #2734 from yuriks/cmake-imported-libsYuri Kunde Schlesner
CMake: Use CMake target properties for all libraries
2017-05-29swrasterizer: implement TextureCubewwylele
2017-05-29pica: add registers for texture cubewwylele
2017-05-28Merge pull request #2729 from yuriks/quaternion-fixYuri Kunde Schlesner
OpenGL: Improve accuracy of quaternion interpolation
2017-05-27CMake: Create INTERFACE targets for microprofile and nihstroYuri Kunde Schlesner
2017-05-27CMake: Use IMPORTED target for libpngYuri Kunde Schlesner
2017-05-27CMake: Correct inter-module dependencies and library visibilityYuri Kunde Schlesner
Modules didn't correctly define their dependencies before, which relied on the frontends implicitly including every module for linking to succeed. Also changed every target_link_libraries call to specify visibility of dependencies to avoid leaking definitions to dependents when not necessary.
2017-05-27Move screen size constants from video_core to coreYuri Kunde Schlesner
video_core didn't even properly use them, and they were the source of many otherwise-unnecessary dependencies from core to video_core.
2017-05-27OpenGL: Remove unused RendererOpenGL fieldsYuri Kunde Schlesner
2017-05-27OpenGL: Improve accuracy of quaternion interpolationYuri Kunde Schlesner
Current order of operations (rotate then normalize) seems to produce a lot more distortion than normalizing and then rotating. This makes Citra results match pretty closesly with hardware, and indicates that hardware may also be using lerp instead of slerp to interpolate the quaternions.
2017-05-27gl_shader: refactor texture sampler into its own functionwwylele
2017-05-24Merge pull request #2697 from wwylele/proctexYuri Kunde Schlesner
Implemented Procedural Texture (Texture Unit 3)
2017-05-21swrasterizer: add missing tc0_w and fragment lighting attribute processingwwylele
2017-05-20gl_rasterizer: implement procedural texturewwylele
2017-05-20pica/swrasterizer: implement procedural texturewwylele
2017-05-17pica: use correct register value for shader bool_uniformswwylele
variable value is not masked. the masked and combined register value should be used instead
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