0459a1a9e6
Merge pull request #6875 from JonnyH/WIP/mipmap-heuristic-tweaks
...
Make arbitrary mipmap detection a config option
2018-06-21 10:19:47 +02:00
640bfb8135
VideoConfig: Add a field for indicating logic op support in the backend
2018-05-26 00:07:20 +10:00
8be5cdfcad
Make the arbitrary mipmap detection threshold configureable
...
This is likely a "superuser" option at best, but I want to be able to play with
it without rebuilding if I want to tweak the heuristics
2018-05-16 17:49:19 -07:00
29b7e33c14
Make arbitrary mipmap detection a config option
...
Under GFX::Enhancements::ArbitraryMipmapDetection - default enabled
2018-05-16 17:15:38 -07:00
9e798eec94
Implement EFB copy filter and gamma in hardware backends
...
Also makes y_scale a dynamic parameter for EFB copies, as it doesn't
make sense to keep it as part of the uid, otherwise we're generating
redundant shaders.
2018-04-29 19:05:20 +10:00
91732e2baf
Remove support for projection hacks
...
This isn't really useful for anything anymore as far as I know.
2018-04-01 21:41:18 +02:00
2f1a7cbee1
Implement "Skip" ubershader mode
...
Skip ubershader mode works the same as hybrid ubershaders in that the
shaders are compiled asynchronously. However, instead of using the
ubershader to draw the object, it skips it entirely until the
specialized shader is made available.
This mode will likely result in broken effects where a game creates an
EFB copy, and does not redraw it every frame. Therefore, it is not a
recommended option, however, it may result in better performance on
low-end systems.
2018-03-26 01:57:41 +10:00
e31cc1f679
ShaderCache: Implement background shader compilation
...
This enables shaders to be compiled while the game is starting, instead
of blocking startup. If a shader is needed before it is compiled,
emulation will block.
2018-03-10 16:11:19 +10:00
9fa24700b6
VideoConfig: Collapse ubershader configuration fields to a single value
2018-03-10 15:56:45 +10:00
f9c829c7f7
OGL: Re-implement async shader compiling
2018-03-10 15:56:34 +10:00
93fb0e1e1c
TextureCache: Add an option to disable EFB copies to VRAM
...
The option is named DisableCopyToVRAM under the Hacks section in
GFX.ini. It is intentionally not exposed to the GUI, as users should not
need to use it under normal circumstances. The main use is debugging
issues in the EFB-to-RAM shaders.
2018-02-11 15:48:46 +10:00
84b990faa0
VideoConfig: Remove bForceCopyToRam field
...
It's the inverse of supports-copy-to-vram.
2018-02-11 15:29:37 +10:00
0b466249e0
CustomTextures: Drop format convertion.
2018-01-20 16:39:04 +01:00
1557e6ab05
Specify underlying types for enums that get casted from integers
...
Otherwise we might get UB if the value we cast is larger than the
max value of the underlying type that the compiled picked for the enum.
I haven't done any extensive check through Dolphin to find cases
of this, I'm just fixing the cases I already know of.
2018-01-08 12:14:18 +01:00
29a9ed043b
Implement dual-source blending in shader
...
For some GLES drivers that don't support dual-source blending, but do
support GL_EXT_shader_framebuffer_fetch, this might be useful.
2018-01-05 09:56:46 -08:00
330881ae80
Allow users to specify the encoder used for framedumping.
2018-01-03 13:23:10 +01:00
39559f6358
VideoConfig: Remove bSupportsInternalResolutionFrameDumps
...
Field is unused as of Hybrid XFB.
2017-11-21 17:19:43 +10:00
5337e58284
VideoConfig: Make StereoMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:19:53 -05:00
10697bcbe3
VideoConfig: Make AspectMode an enum class
...
Makes for more strongly-typed identifiers (and doesn't pollute
surrounding namespaces)
2017-11-18 23:17:56 -05:00
53684701fa
HybridXFB: Fix lint errors
2017-11-17 22:11:31 -06:00
1090549552
Software Backend: Force EFB/XFB to copy to ram
2017-11-17 22:11:31 -06:00
7f0834c919
Add 'immediate xfb' which reduces xfb latency at the cost of graphical errors
2017-11-17 22:11:30 -06:00
65cd085f9b
Add new GUI option to skip XFBToRam and remove old XFB options
2017-11-17 22:11:28 -06:00
198d3b69b4
Add ability to dump xfb copies to texture for debugging purposes
2017-11-17 22:11:28 -06:00
79387dddb2
Add support for hybrid XFB
2017-11-17 19:47:56 -06:00
8e654528fc
VideoConfig: Add const specifier to IsVSync() member function
...
This member function doesn't alter VideoConfig's state.
2017-11-10 22:23:15 -05:00
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
f090a94319
Remove non-integer IRs
2017-08-08 12:09:50 +02:00
fe65b26d53
Merge pull request #5834 from stenzek/bc7
...
Support loading BC7 (BPTC) textures from DDS files
2017-08-01 12:39:19 +10:00
63305e9173
HiresTextures: Support loading BC7 (BPTC) from DDS files
2017-08-01 11:59:38 +10:00
d62dcd397d
VideoConfig: Drop force vertex/pixel ubershader settings
...
This was mainly included for debugging, but could end up being confusing
for users, as well as polluting the GL program cache with a mix of uber
and specialized shaders if the option was changed.
2017-07-31 23:21:38 +10:00
e968c191ff
Ubershaders: Support per-pixel lighting
2017-07-30 17:43:59 +10:00
c8f31656cb
VideoBackends: Support a different number of threads for precompiling
...
At runtime, we only really want a single shader compiler thread.
However, for initial boots, we can use a higher number to speed things
up.
2017-07-30 17:43:59 +10:00
901bf9c257
VideoConfig: Add config options for ubershaders
2017-07-30 17:43:59 +10:00
7d78cf0f6f
ShaderGen: Implement pixel ubershaders
2017-07-30 17:43:59 +10:00
3ea9d86faa
ShaderGen: Pass host config to shader generation functions
...
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
d01b0bf60f
VideoCommon: Move shader cache filename generation to common
2017-07-20 17:46:59 +10:00
82c27182a8
ShaderGen: Remove host state from shader uids
2017-07-20 17:46:59 +10:00
179602e921
D3D: Add quad-buffer stereoscopy support.
2017-07-05 22:43:39 +02:00
f8a99ca192
VertexShaderManager: Rename projection hack variables
2017-06-15 16:38:10 +01:00
a0b41c83e7
VideoConfig: Remove bRunning
...
Value was set but not used.
2017-06-11 15:06:12 +01:00
5480efdff2
video: change multisample/AA setting to u32
2017-06-07 20:20:25 -07:00
f5f45855f0
GameConfigLoader: Add GFX Game INI translations
2017-06-03 18:13:02 +01:00
bc8a96d713
HiresTextures: Support parsing DDS files directly
...
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
27ae5b8d34
VideoConfigDiag: Move post-processing shader list to post processor
...
The backends don't use this list at all, and since more than one
backend supports post-processing now, it's duplicate code.
2017-04-25 14:27:05 +10:00
a9d08a31a6
Add configurable toggle that rounds vertices to the nearest pixel when
...
w=1. This fixes some games at higher IRs.
2017-04-04 09:52:18 -05:00
82fd984f3e
VideoBackends: Add configuration field for GPU texture decoding
2017-04-01 12:32:05 +10:00
b987f220e1
VideoBackends: Add support flag for compute shaders
2017-04-01 12:31:41 +10:00
134317e07f
videoconfig: add BBoxPreferStencilImplementation
...
@JMC47 requested this to be able to do performance comparisons.
2017-03-15 17:41:33 -07:00
de940a5fd6
VideoConfig: add bSupportsFragmentStoresAndAtomics
2017-03-15 17:20:47 -07:00