Commit graph

2702 commits

Author SHA1 Message Date
MerryMage
6c71858c5c BitField: Make trivially copyable and remove assignment operator 2016-02-12 19:51:16 +00:00
bunnei
19557aaab3 pica: Cleanup lighting register definitions and documentation. 2016-02-05 17:20:25 -05:00
bunnei
c4d318f691 gl_rasterizer: Use alignas(16) instead of explicit padding. 2016-02-05 17:20:24 -05:00
bunnei
aaa7beeda8 renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types. 2016-02-05 17:20:23 -05:00
bunnei
8e9318f20a gl_rasterizer: Fix issue with interpolation of opposite quaternions. 2016-02-05 17:20:23 -05:00
bunnei
b694423d09 pica_types: Fix typo in docstring. 2016-02-05 17:20:22 -05:00
bunnei
a949fd5f25 pica_types: Replace float24/20/16 with a template class. 2016-02-05 17:20:22 -05:00
bunnei
d171822dce command_processor: Add an assertion to ensure LUTs are not written past their boundaries. 2016-02-05 17:20:20 -05:00
bunnei
310a1c30ca gl_rasterizer: Remove unnecessary casts. 2016-02-05 17:20:19 -05:00
bunnei
c229503f4a gl_rasterizer: Fix PicaShaderConfig on GCC. 2016-02-05 17:20:19 -05:00
bunnei
9dfb223d26 gl_rasterizer: Initial implementation of bump mapping. 2016-02-05 17:20:19 -05:00
bunnei
449902b558 gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]). 2016-02-05 17:20:17 -05:00
bunnei
348c9c9ff3 gl_shader_gen: Implement lighting red, green, and blue reflection. 2016-02-05 17:20:16 -05:00
bunnei
01b407638c gl_shader_gen: View should be normalized. 2016-02-05 17:20:15 -05:00
bunnei
c37de30cfc gl_shader_gen: Implement fragment lighting fresnel effect. 2016-02-05 17:20:13 -05:00
bunnei
0e67c21c9e gl_shader_gen: Implement fragment lighting specular 1 component. 2016-02-05 17:19:16 -05:00
bunnei
781b046579 gl_shader_gen: Add support for D0 LUT scaling. 2016-02-05 17:18:36 -05:00
bunnei
3d89dacd56 gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
2016-02-05 17:17:35 -05:00
bunnei
6307999116 pica: Cleanup and add some comments to lighting registers. 2016-02-05 17:17:34 -05:00
bunnei
6878ba7608 gl_rasterizer: Minor naming refactor on Pica register naming. 2016-02-05 17:17:33 -05:00
bunnei
76f303538b gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
2016-02-05 17:17:33 -05:00
bunnei
5f3bad8fb1 gl_shader_gen: Fix directional lights. 2016-02-05 17:17:32 -05:00
bunnei
bdc72d0904 gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light. 2016-02-05 17:17:32 -05:00
bunnei
603b619cbe gl_shader_gen: View vector needs to be normalized when computing half angle vector. 2016-02-05 17:17:31 -05:00
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.
2016-02-05 17:17:31 -05:00
bunnei
bf89870437 renderer_opengl: Initial implementation of basic specular lighting. 2016-02-05 17:17:30 -05:00
bunnei
e34fa6365f renderer_opengl: Implement HW fragment lighting distance attenuation. 2016-02-05 17:17:30 -05:00
bunnei
e9af70eaf3 renderer_opengl: Implement HW fragment lighting LUTs within our default UBO. 2016-02-05 17:17:29 -05:00
bunnei
afbef52516 renderer_opengl: Implement diffuse component of HW fragment lighting. 2016-02-05 17:17:29 -05:00
bunnei
b003075570 pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
2016-02-05 17:17:28 -05:00
bunnei
281bc90ad2 pica: Implement fragment lighting LUTs. 2016-02-05 17:17:27 -05:00
bunnei
4369767c72 pica: Add decodings for distance attenuation and LUT registers. 2016-02-05 17:17:26 -05:00
bunnei
38c7b20475 pica: Add pica_types module and move float24 definition. 2016-02-05 17:17:26 -05:00
bunnei
69e2453649 Merge pull request #1391 from tfarley/hw-fb-sync-fix
hwrasterizer: Use proper cached framebuffer addr/size
2016-02-05 17:03:58 -05:00
Lioncash
c89e3d5951 backend: defaulted move constructor/assignment 2016-02-04 22:39:33 -05:00
tfarley
a15f4d1590 hwrasterizer: Use proper cached fb addr/size 2016-02-03 15:52:34 -05:00
bunnei
7497675a83 Merge pull request #1387 from lioncash/func
services: minor changes
2016-02-03 12:14:48 -05:00
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.
2016-02-02 22:44:13 -08:00
Lioncash
0937bed8d8 services: Get rid of unnecessary includes 2016-02-02 01:40:23 -05:00
Lioncash
5e5bb0c32e services: Update function tables 2016-02-01 21:49:44 -05:00
bunnei
cd0b31fd73 Merge pull request #1377 from MerryMage/mmio
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage
2b93313348 Memory: Implement MMIO 2016-01-30 18:41:04 +00:00
Lioncash
60fe45813b color: Make trivial helpers constexpr 2016-01-27 22:14:17 -05:00
bunnei
a43f8d2fb7 Merge pull request #1367 from yuriks/jit-jmp
Shader JIT: Fix off-by-one error when compiling JMPs
2016-01-27 09:19:28 -05:00
bunnei
c407b6ce2f Merge pull request #1369 from yuriks/jmpu-inverted
Shader: Implement "invert condition" feature of IFU instruction
2016-01-26 09:58:16 -05:00
bunnei
01cb800256 Merge pull request #1370 from yuriks/gpureg-names
Debugger: Use 3dbrew names for GPU registers
2016-01-25 13:37:12 -05:00
Yuri Kunde Schlesner
8b3994e9e4 Merge pull request #1373 from lioncash/cast
elf: Don't cast away const
2016-01-25 00:41:32 -08:00
Lioncash
a89e32b157 elf: Don't cast away const 2016-01-25 02:36:57 -05:00
Yuri Kunde Schlesner
cfaacc07dc Merge pull request #1372 from lioncash/tie
key_map: Use std::tie for comparisons
2016-01-24 22:38:37 -08:00
Lioncash
3933b68c59 key_map: Use std::tie for comparisons 2016-01-25 01:19:21 -05:00