Yuri Kunde Schlesner
b7109a1113
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
102d39fe20
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
192829165a
VideoCore: Rename HWRasterizer methods to be less confusing
10 years ago
Yuri Kunde Schlesner
c2526d440e
OpenGL: Rename cache functions to better match what they actually do
10 years ago
Subv
c94a1a0375
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
30c70c905f
OpenGL: Flip framebuffers during transfer rather than when rendering
10 years ago
Yuri Kunde Schlesner
8e478d8b99
OpenGL: Add support for glFrontFace in the state tracker
10 years ago
Yuri Kunde Schlesner
7b9807c835
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
4cbe626fc7
renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.
10 years ago
Pierre de La Morinerie
1c196456f0
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
9acdb1e7f2
FragShader: Use an UBO instead of several individual uniforms
10 years ago
Subv
b797ef4d9a
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
705dd2b552
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
b7b11eb5e7
gl_shader_gen: Use explicit locations for vertex shader attributes.
10 years ago
bunnei
1eb1fd06d1
gl_shader_gen: Optimize code for AppendAlphaTestCondition.
- Also add a comment to AppendColorCombiner.
10 years ago
bunnei
7bad07b3ef
gl_rasterizer: Define enum types for each vertex texcoord attribute.
10 years ago
bunnei
4175a09b7d
gl_shader_gen: Various cleanups to shader generation.
10 years ago
bunnei
2fd9b1999f
gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
10 years ago
bunnei
61b33d7266
gl_shader_gen: Require explicit uniform locations.
- Fixes uniform issue on AMD.
10 years ago
bunnei
aa1dec1953
gl_shader_gen: Rename 'o' to 'attr' in vertex/fragment shaders.
10 years ago
bunnei
3ed0610e5d
gl_shader_gen: AppendAlphaModifier default should be 0.0, not vec4(0.0).
10 years ago
bunnei
e69743a943
gl_shader_gen: Fix bug where TEV stage outputs should be clamped.
10 years ago
bunnei
589d3e2e20
gl_rasterizer: Add documentation to ShaderCacheKey.
10 years ago
bunnei
06d9c2795c
gl_shader_gen: Add additional function documentation.
10 years ago
bunnei
711a23b8ca
gl_shader_util: Cleanup header file + add docstring.
10 years ago
bunnei
d8eca2f795
gl_shader_gen: Various cleanups + moved TEV stage generation to its own function.
10 years ago
bunnei
eefabd6b7d
renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.
10 years ago
bunnei
44a1dcc088
gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.
10 years ago
bunnei
05e11e151d
gl_shader_util: Use vec3 constants for AppendColorCombiner.
10 years ago
bunnei
a81772552c
gl_rasterizer: Fix typo in uploading TEV const color uniforms.
10 years ago
bunnei
9722d39bc5
gl_shader_util: Fix precision bug with alpha testing.
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
10 years ago
Subv
8733dd568d
Initial implementation of fragment shader generation with caching.
11 years ago
Emmanuel Gil Peyrot
b0c7762520
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
The LOG_* function itself already appends one.
10 years ago
Rohit Nirmal
c157d4ddd6
Silence -Wsign-compare warnings.
10 years ago
Martin Lindhe
b36b9d6923
fix some xcode 7.0 warnings
10 years ago
Lioncash
08147474cb
general: Silence some warnings when using clang
10 years ago
Lioncash
2cd98a45cb
video_core: Reorganize headers
10 years ago
Lioncash
c95206abdd
video_core: Remove unnecessary includes from headers
10 years ago
Lioncash
a56b8437e6
renderer_opengl: Remove unimplemented function declaration
10 years ago
Lioncash
1d7a9c8752
video_core: Remove unused variables
10 years ago
Lioncash
b69c9fd82b
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
10 years ago
aroulin
964fa561c5
Shader JIT: Use SCALE constant from emitter
10 years ago
aroulin
f588077bbb
Shader: Fix size_t to int casts of register offsets
10 years ago
Yuri Kunde Schlesner
7f9a9f1339
OpenGL: Use Sampler Objects to decouple sampler config from textures
Fixes #978
10 years ago
Yuri Kunde Schlesner
def0e7f71f
OpenGL: Remove ugly and endian-unsafe color pointer casts
10 years ago
Yuri Kunde Schlesner
efc72d0a4a
OpenGL: Add support for Sampler Objects to state tracker
10 years ago
aroulin
7019a4eaeb
video_core: Fix format specifiers warnings
10 years ago
aroulin
89a7c9068f
x64: Proper stack alignment in shader JIT function calls
Import Dolphin stack handling and register saving routines
Also removes the x86 parts from abi files
11 years ago
Subv
f747cb94de
Pica: Added the primitive_restart register (0x25f) to the registers map.
10 years ago
Subv
018d0f8c8f
Pica: Add the vertex_offset register to the Pica registers map.
10 years ago