Lioncash
b759bf3513
render_base: Clarify/normalize getter functions
2016-03-08 21:45:24 -05:00
Lioncash
c9f47a9b3c
renderer_base: Don't directly expose the rasterizer unique_ptr
...
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
2016-03-08 21:31:44 -05:00
LittleWhite
59fe02348a
Improve error report from Init() functions
...
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
Yuri Kunde Schlesner
d2ce686d97
Pica: Write depth value even when depth test is disabled
...
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
2016-03-05 20:16:20 -08:00
Dwayne Slater
141fe87a0f
Add immediate mode vertex submission
2016-03-02 22:16:38 -05:00
bunnei
dee2df194d
Merge pull request #1424 from MerryMage/lut_init
...
renderer_opengl: Initalise fragment shader LUT textures
2016-02-25 19:36:27 -05:00
MerryMage
0e58079fcd
renderer_opengl: Initalise fragment shader LUT textures
2016-02-26 00:12:38 +00:00
bunnei
87ffba7a6f
Merge pull request #1395 from ds84182/padding-attributes
...
Add support for padding vertex attributes
2016-02-24 18:15:16 -08:00
Dwayne Slater
77879fcf08
Fix out of bounds array access when loading a component >= 12
2016-02-20 19:03:14 -05:00
Dwayne Slater
ad2c86d416
Add support for padding vertex attributes
2016-02-20 19:00:31 -05:00
MerryMage
867c111e99
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00: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
tfarley
958e67ab53
hwrasterizer: Use proper cached fb addr/size
2016-02-03 15:52:34 -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
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
bunnei
70832a600e
Merge pull request #1369 from yuriks/jmpu-inverted
...
Shader: Implement "invert condition" feature of IFU instruction
2016-01-26 09:58:16 -05:00
Yuri Kunde Schlesner
c922298b37
Debugger: Use 3dbrew names for GPU registers
...
This list was imported from the 3dbrew wiki page and is pretty much
complete.
2016-01-24 20:29:44 -08:00
Yuri Kunde Schlesner
b4c68589f6
Shader: Implement "invert condition" feature of IFU instruction
...
If the bit 0 of the JMPU instruction is set, then the jump condition
will be inverted. That is, a jump will happen when the boolean is false
instead of when it is true.
2016-01-24 20:29:06 -08:00
Yuri Kunde Schlesner
d1096d9adc
Shader JIT: Fix off-by-one error when compiling JMPs
...
There was a mistake in the JMP code which meant that one instruction at
the destination would be skipped when the jump was taken. This commit
also changes the meaning of the culprit parameter to make it less
confusing and avoid similar mistakes in the future.
2016-01-24 02:15:56 -08:00