bunnei
e69743a943
gl_shader_gen: Fix bug where TEV stage outputs should be clamped.
2015-10-21 21:53:18 -04:00
bunnei
589d3e2e20
gl_rasterizer: Add documentation to ShaderCacheKey.
2015-10-21 21:53:17 -04:00
bunnei
06d9c2795c
gl_shader_gen: Add additional function documentation.
2015-10-21 21:53:17 -04:00
bunnei
711a23b8ca
gl_shader_util: Cleanup header file + add docstring.
2015-10-21 21:53:16 -04:00
bunnei
d8eca2f795
gl_shader_gen: Various cleanups + moved TEV stage generation to its own function.
2015-10-21 21:53:16 -04:00
bunnei
eefabd6b7d
renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.
2015-10-21 21:53:14 -04:00
bunnei
44a1dcc088
gl_rasterizer: Move logic for creating ShaderCacheKey to a static function.
2015-10-21 21:53:05 -04:00
bunnei
05e11e151d
gl_shader_util: Use vec3 constants for AppendColorCombiner.
2015-10-21 21:51:24 -04:00
bunnei
a81772552c
gl_rasterizer: Fix typo in uploading TEV const color uniforms.
2015-10-21 21:51:24 -04:00
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.
2015-10-21 21:51:23 -04:00
Subv
8733dd568d
Initial implementation of fragment shader generation with caching.
2015-10-21 21:51:23 -04:00
Rohit Nirmal
c157d4ddd6
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
Martin Lindhe
b36b9d6923
fix some xcode 7.0 warnings
2015-09-29 23:11:09 +02:00
Lioncash
08147474cb
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Lioncash
2cd98a45cb
video_core: Reorganize headers
2015-09-11 07:31:15 -04:00
Lioncash
c95206abdd
video_core: Remove unnecessary includes from headers
2015-09-11 00:10:03 -04:00
bunnei
4d6cd8e7b4
Merge pull request #1133 from lioncash/emplace-back
...
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
2015-09-10 15:07:06 -04:00
Lioncash
a56b8437e6
renderer_opengl: Remove unimplemented function declaration
2015-09-10 10:45:44 -04:00
Lioncash
b69c9fd82b
gl_rasterizer: Replace push_back calls with emplace_back in AddTriangle
2015-09-10 00:20:30 -04:00
Yuri Kunde Schlesner
7f9a9f1339
OpenGL: Use Sampler Objects to decouple sampler config from textures
...
Fixes #978
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
def0e7f71f
OpenGL: Remove ugly and endian-unsafe color pointer casts
2015-09-03 15:09:51 -03:00
Yuri Kunde Schlesner
efc72d0a4a
OpenGL: Add support for Sampler Objects to state tracker
2015-09-03 15:09:50 -03:00
Yuri Kunde Schlesner
e5cc2e2ef0
Replace the previous OpenGL loader with a glad-generated 3.3 one
...
The main advantage of switching to glad from glLoadGen is that, apart
from being actively maintained, it supports a customizable entrypoint
loader function, which makes it possible to also support OpenGL ES.
2015-08-30 08:45:56 -03:00
bunnei
d4266dd0ae
Merge pull request #1049 from Subv/stencil
...
Rasterizer: Corrected the stencil implementation.
2015-08-29 20:06:25 -04:00
bunnei
3cc5b3c4ad
gl_rasterizer_cache: Detect and ignore unnecessary texture flushes.
2015-08-27 19:07:53 -04:00
Yuri Kunde Schlesner
424b0fa646
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Subv
4afd01e55e
HWRenderer: Added a workaround for the Intel Windows driver bug that causes glTexSubImage2D to not change the stencil buffer.
...
Reported here https://communities.intel.com/message/324464
2015-08-24 11:28:28 -05:00
Subv
c0ddc0df52
HWRasterizer: Implemented stencil ops 6 and 7.
2015-08-21 11:05:56 -05:00
Subv
2caf213ae0
HWRasterizer: Implemented stencil op 1 (GL_ZERO)
2015-08-21 10:59:49 -05:00
Subv
9c8f4fdd75
GLRasterizer: Implemented stencil testing in the hw renderer.
2015-08-20 10:11:09 -05:00
bunnei
2d100ebae3
Shader: Move shader code to its own subdirectory, "shader".
2015-08-15 17:33:42 -04:00
bunnei
f622a78544
GPU: Refactor "VertexShader" namespace to "Shader".
...
- Also renames "vertex_shader.*" to "shader_interpreter.*"
2015-08-15 17:33:41 -04:00
Yuri Kunde Schlesner
fe3a7af354
OpenGL: Fix state tracking in situations with reused object handles
...
If an OpenGL object is created, bound to a binding using the state
tracker, and then destroyed, a newly created object can be assigned the
same numeric handle by OpenGL. However, even though it is a new object,
and thus needs to be bound to the binding again, the state tracker
compared the current and previous handles and concluded that no change
needed to be made, leading to failure to bind objects in certain cases.
This manifested as broken text in VVVVVV, which this commit fixes along
with similar texturing problems in other games.
2015-08-06 00:59:37 -03:00
Yuri Kunde Schlesner
60df1c9b2b
OpenGL: Remove redundant texture.enable_2d field from OpenGLState
...
All uses of this field where it's false can just set the texture id to 0
instead.
2015-08-05 22:55:22 -03:00
Yuri Kunde Schlesner
428154da45
OpenGL: Add a profiler category measuring framebuffer readback
2015-07-28 17:37:46 -03:00
Yuri Kunde Schlesner
1762267de4
OpenGL: Make OpenGL object resource wrappers fully inline
...
The functions are so simple that having them separate only bloats the
code and hinders optimization.
2015-07-26 10:58:58 -03:00
bunnei
cea45af64d
Merge pull request #977 from yuriks/glenable-tex2d
...
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
2015-07-23 10:07:35 -04:00
Subv
7b4961e968
Rasterizer/GL: Set the border color when binding a texture.
2015-07-22 18:41:37 -05:00
Yuri Kunde Schlesner
e5c4fe0098
GL Renderer: Remove erroneous glEnable(GL_TEXTURE_2D) calls
...
In OpenGL 3, texturing is always enabled, and this call is invalid.
While it produced no effect in the rest of the execution, it wouldn't
have the intended effect of disabling texturing for that unit. Instead
bind a null texture to the unit.
2015-07-22 01:22:09 -03:00
Subv
009e34f08a
GPU: Added registers for min and mag texture filters and implemented them in the hw renderer.
2015-07-21 16:26:09 -05:00
Subv
a694caeee0
GLRasterizer: Don't try to get a pointer to the depth buffer if it doesn't exist.
2015-07-19 14:09:23 -05:00
Tony Wasserka
902fa4da52
Add CiTrace recording support.
...
This is exposed in the GUI as a new "CiTrace Recording" widget.
Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).
2015-07-13 22:27:20 +02:00
Tony Wasserka
ae7120f5d9
Merge pull request #907 from Lectem/clamp_to_border
...
Add GL_CLAMP_TO_BORDER support.
2015-07-12 03:19:46 +02:00
Lectem
58d1c6398e
Added GL_CLAMP_TO_BORDER support
2015-07-09 22:23:26 +02:00
Emmanuel Gil Peyrot
4964a359e1
Core: Cleanup hw includes.
2015-06-28 00:46:39 +01:00
Emmanuel Gil Peyrot
f48b28ad27
Core, VideoCore: Replace or fix exit() calls.
2015-06-28 00:36:55 +01:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
94fc644430
VideoCore: Log the GL driver’s vendor and renderer.
2015-06-16 00:02:23 +01:00
tfarley
26bc816d7a
Renderer formatting edits
2015-06-08 19:19:15 -04:00
tfarley
66b0d799ee
Render-to-texture flush, interval math fix
2015-06-08 19:18:20 -04:00