Commit graph

3224 commits

Author SHA1 Message Date
MerryMage
0e58079fcd renderer_opengl: Initalise fragment shader LUT textures 2016-02-26 00:12:38 +00:00
bunnei
b7db0ece1d Merge pull request #1406 from MerryMage/bitfield2
BitField: Make trivially copyable and remove assignment operator.
2016-02-13 21:10:05 -05:00
MerryMage
867c111e99 BitField: Make trivially copyable and remove assignment operator 2016-02-12 19:51:16 +00:00
bunnei
27f371e0a7 Merge pull request #1264 from bunnei/fragment-lighting-hw
Fragment lighting support in the HW renderer
2016-02-05 21:49:44 -05:00
bunnei
a5f5751b75 pica: Cleanup lighting register definitions and documentation. 2016-02-05 17:20:25 -05:00
bunnei
0a12278cd2 gl_rasterizer: Use alignas(16) instead of explicit padding. 2016-02-05 17:20:24 -05:00
bunnei
1dd1f58218 renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types. 2016-02-05 17:20:23 -05:00
bunnei
a6ad0df69f gl_rasterizer: Fix issue with interpolation of opposite quaternions. 2016-02-05 17:20:23 -05:00
bunnei
0e48729a3a pica_types: Fix typo in docstring. 2016-02-05 17:20:22 -05:00
bunnei
cc283bfedd pica_types: Replace float24/20/16 with a template class. 2016-02-05 17:20:22 -05:00
bunnei
27523be7a4 command_processor: Add an assertion to ensure LUTs are not written past their boundaries. 2016-02-05 17:20:20 -05:00
bunnei
fb6e05281c gl_rasterizer: Remove unnecessary casts. 2016-02-05 17:20:19 -05:00
bunnei
a30c609b75 gl_rasterizer: Fix PicaShaderConfig on GCC. 2016-02-05 17:20:19 -05:00
bunnei
4e22e5544a gl_rasterizer: Initial implementation of bump mapping. 2016-02-05 17:20:19 -05:00
bunnei
da4f531a59 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
ff25eb8cc9 gl_shader_gen: Implement lighting red, green, and blue reflection. 2016-02-05 17:20:16 -05:00
bunnei
4f0fc85f84 gl_shader_gen: View should be normalized. 2016-02-05 17:20:15 -05:00
bunnei
d376a783ea gl_shader_gen: Implement fragment lighting fresnel effect. 2016-02-05 17:20:13 -05:00
bunnei
b07c7c26c6 gl_shader_gen: Implement fragment lighting specular 1 component. 2016-02-05 17:19:16 -05:00
bunnei
f878148e30 gl_shader_gen: Add support for D0 LUT scaling. 2016-02-05 17:18:36 -05:00
bunnei
481017a334 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
1bb0aa6c01 pica: Cleanup and add some comments to lighting registers. 2016-02-05 17:17:34 -05:00
bunnei
2658c7f266 gl_rasterizer: Minor naming refactor on Pica register naming. 2016-02-05 17:17:33 -05:00
bunnei
f7510ba8f0 gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
2016-02-05 17:17:33 -05:00
bunnei
9cd5c49ee5 gl_shader_gen: Fix directional lights. 2016-02-05 17:17:32 -05:00
bunnei
aabc988463 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
14877aa76f gl_shader_gen: View vector needs to be normalized when computing half angle vector. 2016-02-05 17:17:31 -05:00
bunnei
bb3014fb28 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
81511f08fa renderer_opengl: Initial implementation of basic specular lighting. 2016-02-05 17:17:30 -05:00
bunnei
49cd958486 renderer_opengl: Implement HW fragment lighting distance attenuation. 2016-02-05 17:17:30 -05:00
bunnei
11fba4e8d0 renderer_opengl: Implement HW fragment lighting LUTs within our default UBO. 2016-02-05 17:17:29 -05:00
bunnei
07b07a2f24 renderer_opengl: Implement diffuse component of HW fragment lighting. 2016-02-05 17:17:29 -05:00
bunnei
3c3e328340 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
8a9194f06e pica: Implement fragment lighting LUTs. 2016-02-05 17:17:27 -05:00
bunnei
fe094ec9a0 pica: Add decodings for distance attenuation and LUT registers. 2016-02-05 17:17:26 -05:00
bunnei
d5edd881d3 pica: Add pica_types module and move float24 definition. 2016-02-05 17:17:26 -05:00
bunnei
20336f286a 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
Yuri Kunde Schlesner
03673665db Merge pull request #1392 from lioncash/move
backend: defaulted move constructor/assignment
2016-02-04 20:39:36 -08:00
Lioncash
e9114a6976 backend: defaulted move constructor/assignment 2016-02-04 22:39:33 -05:00
tfarley
958e67ab53 hwrasterizer: Use proper cached fb addr/size 2016-02-03 15:52:34 -05:00
bunnei
11f8d32e41 Merge pull request #1387 from lioncash/func
services: minor changes
2016-02-03 12:14:48 -05:00
Mathew Maidment
ce5ae35dd5 Merge pull request #1388 from yuriks/spammy-opengl-debug
OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
2016-02-03 01:57:22 -05:00
Yuri Kunde Schlesner
e82e3f64fd 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
c731d31b7c services: Get rid of unnecessary includes 2016-02-02 01:40:23 -05:00
Lioncash
9bcfc35ba0 services: Update function tables 2016-02-01 21:49:44 -05:00
bunnei
7a6eac7fa4 Merge pull request #1377 from MerryMage/mmio
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage
e614492dca Memory: Implement MMIO 2016-01-30 18:41:04 +00:00
bunnei
fa220e2d4b Merge pull request #1379 from lioncash/color
color: Make trivial helpers constexpr
2016-01-28 15:22:57 -05:00
Lioncash
15d0530902 color: Make trivial helpers constexpr 2016-01-27 22:14:17 -05:00
bunnei
9259a8baa5 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