e17efb1d8d
ShaderGen: Use consistent variable names for texture coordinates
2017-07-30 17:43:59 +10:00
cd502990fa
OGL: Uber shader support
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
62a901508b
OGL: Reload shader cache when relevant video config changes
2017-07-20 17:46:59 +10:00
e63c337830
Merge pull request #5305 from iwubcode/abstract_texture
...
Abstract Texture
2017-06-18 12:57:05 -07:00
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
f09ceaa735
Move IOFile to a separate file
...
Reduces the number of files that need to be recompiled
when making changes to FileUtil.h.
2017-06-15 21:33:50 +02:00
2cdc93f4ab
Video Backends: Split texture cache code out into separate files, introduce 'AbstractTexture'
2017-06-13 00:41:51 -05:00
abc662d69c
OGL: Support compute shaders and emitting GLSL 4.3
...
This also changes bSupportsEarlyFragmentTests to
bSupportsImageLoadStore, as it is used for both.
2017-04-01 12:31:41 +10:00
de940a5fd6
VideoConfig: add bSupportsFragmentStoresAndAtomics
2017-03-15 17:20:47 -07:00
ced1614cac
Unify the way of setting game ID, title ID, revision
...
The existing code from ConfigManager, ES and MIOS is merged
into a new set of functions called SetRunningGameMetadata.
2017-03-09 15:34:14 +01:00
21967b1f6e
VideoBackends: Add a developer option to disable the shader cache.
...
Makes it easier to disable the cache while working on the shaders.
2017-02-19 12:05:44 +01:00
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
31ccfffd38
Common: Add alignment header
...
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
72e3f1ecec
Remove unnecessary ConfigManager includes
...
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.
However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).
(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
1081497cad
DiscIO/SConfig: Rename GetUniqueID to GetGameID
...
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
829fc8f0ad
PixelShaderGen: Drop dstAlphaMode constant in shader generation.
...
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
d9c034e8cc
ShaderGen: Specify attribute/output locations/bindings explicitly
...
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
14e0b48ae4
VideoCommon: Make API_TYPE an enum class
...
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
2f134c5c36
Remove the rest of ShaderDebugging.
...
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
ebe5fd0b36
Multithreadded Shadergen: Minor fixups.
2016-06-26 16:13:22 +12:00
95469ec225
Remove UID Checker.
...
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
24e5d21780
Multithreadded Shadergen: Second pass over Pixel Shadergen.
...
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.
Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
2016-06-26 16:13:21 +12:00
1a831cfc7d
Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
...
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
2016-06-26 16:13:21 +12:00
28c7113e41
Multithreadded Shadergen: Second Pass over geometery Shadergen
2016-06-26 16:13:21 +12:00
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
8ce3a4aa70
ShaderGeneration: Get rid of static buffers
2015-12-26 17:01:54 -05:00
d20ba76ab3
StreamBuffer: Make factory function return a std::unique_ptr
2015-12-21 10:21:38 -05:00
d27dcdba48
We shouldn't be trying to enable the SSBO extension in ES.
2015-11-23 14:47:43 -06:00
05b06b7a21
Merge pull request #3227 from Tilka/sizeof
...
OGL: don't hardcode buffer sizes
2015-11-04 14:35:23 +13:00
39313152ba
OGL: use StringFromFormat where appropriate
2015-11-04 01:56:02 +01:00
e161e714c7
Merge pull request #3226 from Tilka/shadergen
...
VideoCommon: return code/uid from shader gens
2015-11-04 13:42:49 +13:00
bc38892db7
DriverDetails: remove BUG_BROKENINFOLOG leftovers
...
It was removed in 9618738278
.
2015-11-03 18:50:44 +01:00
71d1eb3c31
VideoCommon: return code/uid from shader gens
...
rather than passing in non-const references
2015-11-03 14:40:23 +01:00
983978ee66
VideoCommon: flush vertex manager if components change
2015-11-01 22:39:31 +01:00
7066689131
ShaderCaches: remove unneeded typedefs
2015-10-29 14:43:05 +01:00
f9512ece77
OGL/ProgramShaderCache: small cleanup
...
Drop an unused function and privatize the cash, er, I mean cache.
2015-10-29 13:51:25 +01:00
9ee610830c
Make sure FORCE_EARLY_Z is defined for GLES
2015-10-18 02:37:14 +13:00
e7b2a22225
Support Conservative Depth as a fallback for EarlyZ
...
Allows Mesa based drivers to support ZCompLoc
2015-10-18 01:46:54 +13:00
645e4cbbee
PixelShaderGen: Use arrays of texture samplers.
2015-10-12 05:06:39 +13:00
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
664beea538
OGL: reimplement SSAA based on ARB_gpu_shader5
...
So i965 shall support it again.
2015-09-07 22:21:11 +02:00
1c0366993a
VideoBackends: Reimplement SSAA, now for D3D + OGL
2015-09-06 19:40:00 +02:00
7650117c26
Properly support MSAA and SSAA as separate features(+GLES)
...
SSAA relies on MSAA being active to work. We only supports 4x SSAA while in fact you can enable SSAA at any MSAA level.
I even managed to run 64xMSAA + SSAA on my Quadro which made some pretty sleek looking games. They were very cinematic though.
With this, it properly fixes up SSAA and MSAA support in GLES as well. Before they were broken when stereo rendering was enabled.
Now in GLES they can properly support MSAA and also stereo rendering with MSAA enabled(with proper extensions).
2015-09-05 05:23:29 -05:00
9618738278
Remove all of our workarounds for Qualcomm devices we don't support anymore.
2015-09-04 23:45:35 -05:00
5fa4c8d930
Support EXT_blend_func_extended in GLES.
...
This lets us get dual source blending on GLES targets.
2015-09-04 20:25:59 -05:00
7a35f9285b
[GLES] Support texture_buffer for palette texture conversion.
...
OpenGL ES 3.2 adds this feature to core
It was available to GLES 3.1 as GL_{EXT, OES}_texture_buffer as well.
For the non-Nvidia vendors that implemented this is:
- Qualcomm's Adreno 4xx
- IMGTec's PowerVR Rogue
2015-09-01 05:41:03 -05:00