Commit Graph

3226 Commits (e04e6aabbc7bbd2bc3a08a6cecd50273670ca0a6)
 

Author SHA1 Message Date
bunnei e04e6aabbc Merge pull request from ds84182/padding-attributes
Add support for padding vertex attributes
Dwayne Slater ed8072b48b Fix out of bounds array access when loading a component >= 12
Dwayne Slater 82fc075ff6 Add support for padding vertex attributes
bunnei 0d086616d1 Merge pull request from MerryMage/bitfield2
BitField: Make trivially copyable and remove assignment operator.
MerryMage 6c71858c5c BitField: Make trivially copyable and remove assignment operator
bunnei f1d1049c4f Merge pull request from bunnei/fragment-lighting-hw
Fragment lighting support in the HW renderer
bunnei 19557aaab3 pica: Cleanup lighting register definitions and documentation.
bunnei c4d318f691 gl_rasterizer: Use alignas(16) instead of explicit padding.
bunnei aaa7beeda8 renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.
bunnei 8e9318f20a gl_rasterizer: Fix issue with interpolation of opposite quaternions.
bunnei b694423d09 pica_types: Fix typo in docstring.
bunnei a949fd5f25 pica_types: Replace float24/20/16 with a template class.
bunnei d171822dce command_processor: Add an assertion to ensure LUTs are not written past their boundaries.
bunnei 310a1c30ca gl_rasterizer: Remove unnecessary casts.
bunnei c229503f4a gl_rasterizer: Fix PicaShaderConfig on GCC.
bunnei 9dfb223d26 gl_rasterizer: Initial implementation of bump mapping.
bunnei 449902b558 gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]).
bunnei 348c9c9ff3 gl_shader_gen: Implement lighting red, green, and blue reflection.
bunnei 01b407638c gl_shader_gen: View should be normalized.
bunnei c37de30cfc gl_shader_gen: Implement fragment lighting fresnel effect.
bunnei 0e67c21c9e gl_shader_gen: Implement fragment lighting specular 1 component.
bunnei 781b046579 gl_shader_gen: Add support for D0 LUT scaling.
bunnei 3d89dacd56 gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
bunnei 6307999116 pica: Cleanup and add some comments to lighting registers.
bunnei 6878ba7608 gl_rasterizer: Minor naming refactor on Pica register naming.
bunnei 76f303538b gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
bunnei 5f3bad8fb1 gl_shader_gen: Fix directional lights.
bunnei bdc72d0904 gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light.
bunnei 603b619cbe gl_shader_gen: View vector needs to be normalized when computing half angle vector.
bunnei 021cb0bced renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.
- Gets us LUT interpolation for free.
- Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
bunnei bf89870437 renderer_opengl: Initial implementation of basic specular lighting.
bunnei e34fa6365f renderer_opengl: Implement HW fragment lighting distance attenuation.
bunnei e9af70eaf3 renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.
bunnei afbef52516 renderer_opengl: Implement diffuse component of HW fragment lighting.
bunnei b003075570 pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
bunnei 281bc90ad2 pica: Implement fragment lighting LUTs.
bunnei 4369767c72 pica: Add decodings for distance attenuation and LUT registers.
bunnei 38c7b20475 pica: Add pica_types module and move float24 definition.
bunnei 69e2453649 Merge pull request from tfarley/hw-fb-sync-fix
hwrasterizer: Use proper cached framebuffer addr/size
Yuri Kunde Schlesner 7400100da7 Merge pull request from lioncash/move
backend: defaulted move constructor/assignment
Lioncash c89e3d5951 backend: defaulted move constructor/assignment
tfarley a15f4d1590 hwrasterizer: Use proper cached fb addr/size
bunnei 7497675a83 Merge pull request from lioncash/func
services: minor changes
Mathew Maidment 30fd5d9e96 Merge pull request from yuriks/spammy-opengl-debug
OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
Yuri Kunde Schlesner 05356543d9 OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
The nVidia driver is *extremely* spammy on this category, sending a
message on every buffer or texture upload, slowing down the emulator and
making the log useless.
Lioncash 0937bed8d8 services: Get rid of unnecessary includes
Lioncash 5e5bb0c32e services: Update function tables
bunnei cd0b31fd73 Merge pull request from MerryMage/mmio
Memory: Implemented MMIO
MerryMage 2b93313348 Memory: Implement MMIO
bunnei 3ab6d77c20 Merge pull request from lioncash/color
color: Make trivial helpers constexpr