Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement PointSize | FernandoS27 | 2018-10-23 | 1 | -3/+0 |
| | |||||
* | Use standard UBO and fix/stylize the code | FernandoS27 | 2018-10-22 | 1 | -1/+28 |
| | |||||
* | gl_shader_decompiler: Move position varying declaration back to gl_shader_gen | ReinUsesLisp | 2018-10-20 | 1 | -0/+7 |
| | | | | | | | The intention of declaring them in gl_shader_decompiler was to be able to use blocks to implement geometry shaders. But that wasn't needed in the end and it caused issues when both vertex stages were being used, resulting in a redeclaration of "position". | ||||
* | gl_shader_decompiler: Implement geometry shaders | ReinUsesLisp | 2018-10-07 | 1 | -25/+59 |
| | |||||
* | Fixed renderdoc input/output textures not working due to render targets | David Marcec | 2018-09-11 | 1 | -1/+8 |
| | |||||
* | gl_shader_gen: Initialize position. | Markus Wick | 2018-09-06 | 1 | -0/+1 |
| | | | | | IMO the old code is fine, but nvidia raises shader compiler warnings. Trivial fix through... | ||||
* | renderer_opengl: Implement a new shader cache. | bunnei | 2018-08-28 | 1 | -2/+2 |
| | |||||
* | renderer_opengl: Namespace OpenGL code | Lioncash | 2018-08-22 | 1 | -2/+2 |
| | | | | | | | Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future. | ||||
* | Shaders: Write all the enabled color outputs when a fragment shader exits. | Subv | 2018-08-21 | 1 | -1/+1 |
| | | | | | | | We were only writing to the first render target before. Note that this is only the GLSL side of the implementation, supporting multiple render targets requires more changes in the OpenGL renderer. Dual Source blending is not implemented and stuff that uses it might not work at all. | ||||
* | Rasterizer: Implemented instanced rendering. | Subv | 2018-08-15 | 1 | -0/+2 |
| | | | | | | We keep track of the current instance and update an uniform in the shaders to let them know which instance they are. Instanced vertex arrays are not yet implemented. | ||||
* | gl_shader_gen: Implement dual vertex shader mode. | bunnei | 2018-07-13 | 1 | -9/+35 |
| | | | | - When VertexA shader stage is enabled, we combine with VertexB program to make a single Vertex Shader stage. | ||||
* | gl_shader_gen: Set position.w to 1. | bunnei | 2018-06-16 | 1 | -0/+4 |
| | |||||
* | GPU: Implement sampling multiple textures in the generated glsl shaders. | Subv | 2018-06-06 | 1 | -2/+0 |
| | | | | | | All tested games that use a single texture show no regression. Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible. | ||||
* | gl_shader_gen: Support vertical/horizontal viewport flipping. (#347) | bunnei | 2018-04-18 | 1 | -0/+10 |
| | | | | | | * gl_shader_gen: Support vertical/horizontal viewport flipping. * fixup! gl_shader_gen: Support vertical/horizontal viewport flipping. | ||||
* | gl_shader_decompiler: Allow vertex position to be used in fragment shader. | bunnei | 2018-04-17 | 1 | -1/+5 |
| | |||||
* | shaders: Expose hints about used const buffers. | bunnei | 2018-04-15 | 1 | -6/+48 |
| | |||||
* | gl_shader_gen: Add hashable setup/config structs. | bunnei | 2018-04-14 | 1 | -2/+2 |
| | |||||
* | renderer_opengl: Logging, etc. cleanup. | bunnei | 2018-03-27 | 1 | -2/+2 |
| | |||||
* | renderer_gl: Port over gl_shader_gen module from Citra. | bunnei | 2018-03-20 | 1 | -0/+20 |
| | |||||
* | Remove references to PICA and rasterizers in video_core | James Rowe | 2018-01-13 | 1 | -1231/+0 |
| | |||||
* | Merge pull request #2900 from wwylele/clip-2 | Yuri Kunde Schlesner | 2017-09-16 | 1 | -33/+47 |
|\ | | | | | PICA: implement custom clip plane | ||||
| * | gl_rasterizer: implement custom clip plane | wwylele | 2017-08-25 | 1 | -33/+47 |
| | | |||||
* | | Merge pull request #2914 from wwylele/fresnel-fix | bunnei | 2017-09-05 | 1 | -4/+5 |
|\ \ | | | | | | | pica/lighting: only apply Fresnel factor for the last light | ||||
| * | | pica/lighting: only apply Fresnel factor for the last light | wwylele | 2017-09-03 | 1 | -4/+5 |
| | | | |||||
* | | | video_core: report telemetry for gas mode | wwylele | 2017-08-31 | 1 | -0/+6 |
|/ / | |||||
* | | Merge pull request #2891 from wwylele/sw-bump | bunnei | 2017-08-31 | 1 | -2/+2 |
|\ \ | |/ |/| | SwRasterizer/Lighting: implement bump mapping | ||||
| * | gl_rasterizer/lighting: more accurate CP formula | wwylele | 2017-08-22 | 1 | -2/+2 |
| | | |||||
* | | gl_shader_gen: simplify and clarify the depth transformation between vertex shader and fragment shader | wwylele | 2017-08-21 | 1 | -2/+5 |
| | | |||||
* | | gl_rasterizer: add clipping plane z<=0 defined in PICA | wwylele | 2017-08-21 | 1 | -0/+2 |
|/ | |||||
* | gl_shader_gen: don't call SampleTexture when bump map is not used | wwylele | 2017-08-11 | 1 | -4/+5 |
| | |||||
* | gl_rasterizer: use texture buffer for proctex LUT | wwylele | 2017-07-01 | 1 | -10/+10 |
| | |||||
* | gl_rasterizer: use texture buffer for fog LUT | wwylele | 2017-06-22 | 1 | -7/+3 |
| | |||||
* | gl_rasterizer/lighting: fix LUT interpolation | wwylele | 2017-06-21 | 1 | -51/+59 |
| | |||||
* | gl_rasterizer/lighting: use the formula from the paper for germetic factor | wwylele | 2017-06-18 | 1 | -8/+8 |
| | |||||
* | gl_rasterizer/lighting: implement geometric factor | wwylele | 2017-06-15 | 1 | -1/+16 |
| | |||||
* | gl_rasterizer/lighting: Implement tangent mapping | wwylele | 2017-06-11 | 1 | -7/+12 |
| | |||||
* | gl_rasterizer/lighting: implement lut input 5 (CP) | wwylele | 2017-06-11 | 1 | -2/+25 |
| | |||||
* | Merge pull request #2727 from wwylele/spot-light | Sebastian Valle | 2017-06-11 | 1 | -6/+33 |
|\ | | | | | Fragment lighting: implement spot light | ||||
| * | gl_rasterizer: implement spot light | wwylele | 2017-05-30 | 1 | -6/+24 |
| | | |||||
| * | gl_rasterizer: sync spot light status | wwylele | 2017-05-30 | 1 | -0/+9 |
| | | |||||
* | | Merge pull request #2729 from yuriks/quaternion-fix | Yuri Kunde Schlesner | 2017-05-28 | 1 | -3/+5 |
|\ \ | | | | | | | OpenGL: Improve accuracy of quaternion interpolation | ||||
| * | | OpenGL: Improve accuracy of quaternion interpolation | Yuri Kunde Schlesner | 2017-05-27 | 1 | -3/+5 |
| |/ | | | | | | | | | | | | | 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. | ||||
* / | gl_shader: refactor texture sampler into its own function | wwylele | 2017-05-27 | 1 | -40/+39 |
|/ | |||||
* | gl_rasterizer: implement procedural texture | wwylele | 2017-05-20 | 1 | -6/+265 |
| | |||||
* | pica: shader_dirty if texture2 coord changed | wwylele | 2017-05-05 | 1 | -1/+1 |
| | |||||
* | pica: use correct coordinates for texture 2 | wwylele | 2017-05-03 | 1 | -3/+14 |
| | |||||
* | Merge pull request #2671 from wwylele/dot3-rgba | bunnei | 2017-04-21 | 1 | -13/+20 |
|\ | | | | | rasterizer: implement combiner operation 7 (Dot3_RGBA) | ||||
| * | gl_shader_gen: remove TODO about Lerp behaviour verification. The implementation is verified against hardware | wwylele | 2017-04-20 | 1 | -2/+0 |
| | | |||||
| * | rasterizer: implement combiner operation 7 (Dot3_RGBA) | wwylele | 2017-04-19 | 1 | -11/+20 |
| | | |||||
* | | OpenGL: Pass Pica regs via parameter | Yuri Kunde Schlesner | 2017-04-17 | 1 | -3/+1 |
| | | |||||
* | | OpenGL: Move PicaShaderConfig to gl_shader_gen.h | Yuri Kunde Schlesner | 2017-04-17 | 1 | -0/+94 |
|/ | | | | Also move the implementation of CurrentConfig to the cpp file. | ||||
* | VideoCore: Split regs.h inclusions | Yuri Kunde Schlesner | 2017-02-09 | 1 | -13/+17 |
| | |||||
* | VideoCore: Move Regs to its own file | Yuri Kunde Schlesner | 2017-02-04 | 1 | -1/+1 |
| | |||||
* | VideoCore: Split lighting regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -32/+40 |
| | |||||
* | VideoCore: Split framebuffer regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -4/+4 |
| | |||||
* | VideoCore: Split texturing regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -5/+5 |
| | |||||
* | VideoCore: Split rasterizer regs from Regs struct | Yuri Kunde Schlesner | 2017-02-04 | 1 | -3/+4 |
| | |||||
* | Minor cleanup in GLSL code | Jannik Vogel | 2016-12-25 | 1 | -3/+2 |
| | |||||
* | Offset lighting LUT samples correctly | Jannik Vogel | 2016-12-25 | 1 | -7/+7 |
| | |||||
* | OpenGL: Take cached viewport sub-rect into account for scissor | Yuri Kunde Schlesner | 2016-09-30 | 1 | -5/+4 |
| | | | | Fixes #1938 | ||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -3/+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-format | Yuri Kunde Schlesner | 2016-09-19 | 1 | -3/+1 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -76/+137 |
| | |||||
* | OpenGL: Avoid error on unsupported lighting LUT | Jannik Vogel | 2016-08-30 | 1 | -0/+1 |
| | |||||
* | OpenGL: Add scaled resolution support to scissor | Yuri Kunde Schlesner | 2016-06-28 | 1 | -2/+5 |
| | |||||
* | PICA: Scissor fixes and cleanups | Yuri Kunde Schlesner | 2016-06-28 | 1 | -7/+8 |
| | |||||
* | PICA: Implement scissor test | Subv | 2016-06-28 | 1 | -0/+16 |
| | |||||
* | OpenGL: Implement fog | Jannik Vogel | 2016-06-07 | 1 | -5/+29 |
| | |||||
* | OpenGL: Avoid undefined behaviour for UNIFORM_BLOCK_DATA_SIZE | Jannik Vogel | 2016-06-07 | 1 | -2/+2 |
| | |||||
* | OpenGL: Use uniforms for dist_atten_bias and dist_atten_scale | Jannik Vogel | 2016-05-23 | 1 | -3/+3 |
| | |||||
* | OpenGL: Implement texture type 3 | Jannik Vogel | 2016-05-11 | 1 | -35/+53 |
| | |||||
* | OpenGL: Implement W-Buffers and fix depth-mapping | Jannik Vogel | 2016-05-10 | 1 | -1/+10 |
| | |||||
* | Pica: Use a union for PicaShaderConfig | Jannik Vogel | 2016-05-03 | 1 | -37/+41 |
| | |||||
* | Pica: Add TevStageConfigRaw to PicaShaderConfig (MSVC workaround) | Jannik Vogel | 2016-05-03 | 1 | -1/+1 |
| | |||||
* | VideoCore: Run include-what-you-use and fix most includes. | Emmanuel Gil Peyrot | 2016-04-30 | 1 | -0/+8 |
| | |||||
* | OpenGL: Implement color combiner Operation::Dot3_RGB | Jannik Vogel | 2016-04-10 | 1 | -0/+3 |
| | |||||
* | gl_rasterizer: Initial implementation of bump mapping. | bunnei | 2016-02-05 | 1 | -5/+27 |
| | |||||
* | gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]). | bunnei | 2016-02-05 | 1 | -3/+3 |
| | |||||
* | gl_shader_gen: Implement lighting red, green, and blue reflection. | bunnei | 2016-02-05 | 1 | -17/+45 |
| | |||||
* | gl_shader_gen: View should be normalized. | bunnei | 2016-02-05 | 1 | -2/+2 |
| | |||||
* | gl_shader_gen: Implement fragment lighting fresnel effect. | bunnei | 2016-02-05 | 1 | -9/+26 |
| | |||||
* | gl_shader_gen: Implement fragment lighting specular 1 component. | bunnei | 2016-02-05 | 1 | -3/+14 |
| | |||||
* | gl_shader_gen: Add support for D0 LUT scaling. | bunnei | 2016-02-05 | 1 | -1/+1 |
| | |||||
* | gl_shader_gen: Refactor lighting config to match Pica register naming. | bunnei | 2016-02-05 | 1 | -14/+16 |
| | | | | - Also implement D0 LUT enable. | ||||
* | gl_shader_gen: Reorganize and cleanup lighting code. | bunnei | 2016-02-05 | 1 | -100/+107 |
| | | | | - No functional difference. | ||||
* | gl_shader_gen: Fix directional lights. | bunnei | 2016-02-05 | 1 | -1/+1 |
| | |||||
* | gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light. | bunnei | 2016-02-05 | 1 | -6/+6 |
| | |||||
* | gl_shader_gen: View vector needs to be normalized when computing half angle vector. | bunnei | 2016-02-05 | 1 | -3/+4 |
| | |||||
* | renderer_opengl: Use textures for fragment shader LUTs instead of UBOs. | bunnei | 2016-02-05 | 1 | -11/+7 |
| | | | | | - Gets us LUT interpolation for free. - Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs. | ||||
* | renderer_opengl: Initial implementation of basic specular lighting. | bunnei | 2016-02-05 | 1 | -12/+70 |
| | |||||
* | renderer_opengl: Implement HW fragment lighting distance attenuation. | bunnei | 2016-02-05 | 1 | -3/+16 |
| | |||||
* | renderer_opengl: Implement HW fragment lighting LUTs within our default UBO. | bunnei | 2016-02-05 | 1 | -0/+7 |
| | |||||
* | renderer_opengl: Implement diffuse component of HW fragment lighting. | bunnei | 2016-02-05 | 1 | -2/+51 |
| | |||||
* | hwrasterizer: Use depth offset | tfarley | 2016-01-21 | 1 | -1/+3 |
| | |||||
* | OpenGL: Flip framebuffers during transfer rather than when rendering | Yuri Kunde Schlesner | 2015-12-05 | 1 | -1/+1 |
| | |||||
* | PICA: Properly emulate 1-stage delay in the combiner buffer | Yuri Kunde Schlesner | 2015-12-01 | 1 | -7/+11 |
| | | | | | | | | | This was discovered and verified by @fincs. The tev combiner buffer actually lags behind by one stage, meaning stage 1 reads the initial color, stage 2 reads stage 0's output, and so on. Fixes character portraits in Fire Emblem: Awakening and world textures in Zelda: ALBW. Closes #1140. | ||||
* | renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location. | bunnei | 2015-11-26 | 1 | -2/+2 |
| | |||||
* | Use regular uniform location | Pierre de La Morinerie | 2015-11-25 | 1 | -5/+1 |
| | | | | | | The support for GL_ARB_explicit_uniform_location is not that good (53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location). This fix the shader compilation on Intel HD 4000 (#1222). | ||||
* | FragShader: Use an UBO instead of several individual uniforms | Subv | 2015-11-19 | 1 | -3/+7 |
| | |||||
* | gl_shader_gen: Use explicit locations for vertex shader attributes. | bunnei | 2015-10-22 | 1 | -9/+9 |
| | |||||
* | gl_shader_gen: Optimize code for AppendAlphaTestCondition. | bunnei | 2015-10-22 | 1 | -16/+11 |
| | | | | - Also add a comment to AppendColorCombiner. | ||||
* | gl_shader_gen: Various cleanups to shader generation. | bunnei | 2015-10-22 | 1 | -44/+48 |
| | |||||
* | gl_rasterizer: Use MMH3 hash for shader cache hey. | bunnei | 2015-10-22 | 1 | -2/+2 |
| | | | | - Includes a check to confirm no hash collisions. | ||||
* | gl_shader_gen: Require explicit uniform locations. | bunnei | 2015-10-22 | 1 | -11/+12 |
| | | | | - Fixes uniform issue on AMD. | ||||
* | gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders. | bunnei | 2015-10-22 | 1 | -11/+11 |
| | |||||
* | gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0). | bunnei | 2015-10-22 | 1 | -1/+1 |
| | |||||
* | gl_shader_gen: Fix bug where TEV stage outputs should be clamped. | bunnei | 2015-10-22 | 1 | -3/+3 |
| | |||||
* | gl_shader_gen: Add additional function documentation. | bunnei | 2015-10-22 | 1 | -0/+8 |
| | |||||
* | gl_shader_gen: Various cleanups + moved TEV stage generation to its own function. | bunnei | 2015-10-22 | 1 | -161/+170 |
| | |||||
* | renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups. | bunnei | 2015-10-22 | 1 | -0/+371 |