bunnei
c37de30cfc
gl_shader_gen: Implement fragment lighting fresnel effect.
10 years ago
bunnei
0e67c21c9e
gl_shader_gen: Implement fragment lighting specular 1 component.
10 years ago
bunnei
781b046579
gl_shader_gen: Add support for D0 LUT scaling.
10 years ago
bunnei
3d89dacd56
gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
10 years ago
bunnei
6307999116
pica: Cleanup and add some comments to lighting registers.
10 years ago
bunnei
6878ba7608
gl_rasterizer: Minor naming refactor on Pica register naming.
10 years ago
bunnei
76f303538b
gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
10 years ago
bunnei
5f3bad8fb1
gl_shader_gen: Fix directional lights.
10 years ago
bunnei
bdc72d0904
gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light.
10 years ago
bunnei
603b619cbe
gl_shader_gen: View vector needs to be normalized when computing half angle vector.
10 years ago
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.
10 years ago
bunnei
bf89870437
renderer_opengl: Initial implementation of basic specular lighting.
10 years ago
bunnei
e34fa6365f
renderer_opengl: Implement HW fragment lighting distance attenuation.
10 years ago
bunnei
e9af70eaf3
renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.
10 years ago
bunnei
afbef52516
renderer_opengl: Implement diffuse component of HW fragment lighting.
10 years ago
bunnei
b003075570
pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
10 years ago
bunnei
281bc90ad2
pica: Implement fragment lighting LUTs.
10 years ago
bunnei
4369767c72
pica: Add decodings for distance attenuation and LUT registers.
10 years ago
bunnei
38c7b20475
pica: Add pica_types module and move float24 definition.
10 years ago
tfarley
a15f4d1590
hwrasterizer: Use proper cached fb addr/size
10 years ago
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.
10 years ago
Yuri Kunde Schlesner
d01d1f7e01
Debugger: Use 3dbrew names for GPU registers
This list was imported from the 3dbrew wiki page and is pretty much
complete.
10 years ago
Yuri Kunde Schlesner
083d2d89a5
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.
10 years ago
Yuri Kunde Schlesner
c1071c1ff7
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.
10 years ago
tfarley
f53dbafdae
hwrasterizer: Use depth offset
10 years ago
Lioncash
4966568076
command_processor: Get rid of variable shadowing
10 years ago
Lioncash
5e17a586da
video_core: Make the renderer global a unique_ptr
10 years ago
Lioncash
97dc9634a2
swrasterizer: Add missing override specifier
10 years ago
Yuri Kunde Schlesner
015d7b9779
VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
10 years ago
Yuri Kunde Schlesner
195fedccf0
VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
10 years ago
Yuri Kunde Schlesner
03835d04f4
VideoCore: Rename HWRasterizer methods to be less confusing
10 years ago
Yuri Kunde Schlesner
da80ece8b9
OpenGL: Rename cache functions to better match what they actually do
10 years ago
Subv
7b33e163b9
GPU/PrimitiveAssembler: Fixed drawing triangle fans.
It was skipping the second vertex assignment and using uninitialized garbage when assembling the corresponding triangle.
10 years ago
Yuri Kunde Schlesner
cf81e08389
OpenGL: Flip framebuffers during transfer rather than when rendering
10 years ago
Yuri Kunde Schlesner
95dbc6eb0e
OpenGL: Add support for glFrontFace in the state tracker
10 years ago
Yuri Kunde Schlesner
e9c209ccc8
PICA: Properly emulate 1-stage delay in the combiner buffer
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 .
10 years ago
bunnei
f008dfbaca
renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.
10 years ago
Pierre de La Morinerie
0735630744
Use regular uniform location
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 ).
10 years ago
Subv
823ce62f2f
FragShader: Use an UBO instead of several individual uniforms
10 years ago
Subv
7a37dba75b
GPU/Loaders: Log an error when a loader tries to load from a component beyond the available ones (12).
Related to #1170
10 years ago
Emmanuel Gil Peyrot
53df67376d
OpenGL: Log GL_KHR_debug messages we receive
This allows the driver to communicate errors, warnings and improvement
suggestions about our usage of the API.
10 years ago
bunnei
74186a5f01
gl_shader_gen: Use explicit locations for vertex shader attributes.
10 years ago
bunnei
e663f5c914
gl_shader_gen: Optimize code for AppendAlphaTestCondition.
- Also add a comment to AppendColorCombiner.
10 years ago
bunnei
e7b1f2ae0a
gl_rasterizer: Define enum types for each vertex texcoord attribute.
10 years ago
bunnei
0ebcff710e
gl_shader_gen: Various cleanups to shader generation.
10 years ago
bunnei
240a3b80d9
gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
10 years ago
bunnei
71edb55114
gl_shader_gen: Require explicit uniform locations.
- Fixes uniform issue on AMD.
10 years ago
bunnei
5ef2df056d
gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders.
10 years ago
bunnei
c2c4faef4c
gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0).
10 years ago
bunnei
bd833b8dd8
gl_shader_gen: Fix bug where TEV stage outputs should be clamped.
10 years ago