Lioncash
1fa81f24d3
VertexManagerBase: Make CreateNativeVertexFormat return a unique_ptr
...
Much safer as opposed to just returning raw allocated memory.
2017-02-18 03:16:24 -05:00
Lioncash
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
Lioncash
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
Lioncash
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
Lioncash
70cf774a5c
RenderBase: Forward declare EFBAccessType
2017-01-23 12:41:26 -05:00
Lioncash
5b461f50af
VideoBackendBase: Convert EFBAccessType into an enum class
2017-01-23 03:53:38 -05:00
Matthew Parlane
ad84b904e4
Merge pull request #4496 from Mystro256/master
...
Fix GCC build issue with Fedora (linux)
2017-01-13 23:13:08 +13:00
degasus
23b0faeba5
OGL: Use VideoCommon blend state for framebuffer configuration.
2017-01-06 14:01:39 +01:00
BhaaL
23d99f2f2c
specify custom brace style to fix unions
...
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
degasus
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
degasus
b7d8bd13a6
OGL/Vulkan: Drop dual pass alpha.
2017-01-04 19:59:41 +01:00
Markus Wick
96314a0ec1
Merge pull request #4574 from stenzek/vulkan-alpha-clear
...
Vulkan: Clear alpha channel to 0 when pixel format has no alpha channel
2017-01-02 12:29:36 +01:00
Jules Blok
65b5765858
VideoBackends: Clamp the range to the maximum depth value supported in the z buffer.
2016-12-27 20:25:40 +01:00
Jules Blok
ef82aebb97
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-27 14:31:17 +01:00
Stenzek
e6249619a0
Vulkan/GL: Set the alpha channel to 0 when creating the EFB framebuffer
2016-12-27 13:06:08 +10:00
degasus
abf9bb170b
TextureCache: Drop unused parameter in backend API.
2016-12-26 22:10:32 +01:00
degasus
04f319066d
TextureCache: Extract BP enum check to VideoCommon.
...
We have TOO many video backends.
2016-12-26 22:10:21 +01:00
Mystro256
1963996dd0
Change RasterFont static const names
...
Fixes build issue with GCC/CPP 6.2.1 build issues on Fedora 26
2016-12-24 11:58:07 -05:00
Mat M
9160be50db
Merge pull request #4224 from lioncash/tcache
...
TextureCacheBase: Eliminate static state
2016-12-23 04:33:42 -05:00
Stenzek
01047319f8
Merge pull request #4517 from stenzek/mp3-blotches
...
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-19 22:11:38 +10:00
Markus Wick
989cdc0929
Merge pull request #4505 from hthh/macos-likes-pbos
...
OpenGL: Always use a PBO in EncodeToRamUsingShader
2016-12-19 09:47:40 +01:00
Stenzek
accce4294a
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-15 02:20:46 +10:00
hthh
801d1d1876
OpenGL: Always use a PBO in EncodeToRamUsingShader
...
This improves performance significantly on macOS, particularly
noticeably in the Super Mario Sunshine transition, which goes
from ~5FPS to ~17FPS.
2016-12-12 20:33:41 +11:00
Stenzek
607ce40f0b
OGL: Fix black screen when MSAA is enabled
2016-12-12 17:51:19 +10:00
Lioncash
58a5395173
TextureCacheBase: Eliminate static state
2016-12-09 16:50:37 -05:00
Léo Lam
31ccfffd38
Common: Add alignment header
...
Gets rid of duplicated alignment code.
2016-12-06 20:33:53 +01:00
Stenzek
107e8c8ee7
OGL: Fix assertion when minimizing window
...
Also fixes a potential divide by zero in Renderer::RenderText.
2016-12-03 20:35:14 +10:00
Stenzek
b81dee8b9a
OGL: Support full-resolution frame dumping
2016-11-28 21:54:56 +10:00
Stenzek
93221e7f48
OGL: Move frame rendering procedures to seperate methods
2016-11-28 21:54:56 +10:00
Stenzek
6db0ee9561
VideoCommon: Remove backbuffer size parameters from methods
...
We have the s_backbuffer_{width,height} fields to represent this, so
there's no point in passing them as parameters every time.
2016-11-28 20:14:59 +10:00
Stenzek
a0a62c0f46
VideoConfig: Add option for full-resolution frame dumping
2016-11-28 20:14:59 +10:00
Léo Lam
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
degasus
3816207d7b
OGL: Fix frame dump on emulation close.
2016-11-10 12:59:22 +01:00
degasus
21774bdc81
OGL: Only flush the frame dumping thread on dumping.
...
This fixes the screenshot stutter, as this needs more than a frame.
So we won't stall on the png writing at all until emulation stops or
a new screenshot is requested.
2016-11-10 12:59:22 +01:00
degasus
741debe229
OGL: Avoid reallocation of frame dumping PBO.
2016-11-07 22:32:54 +01:00
degasus
f6a6cc9c67
OGL: Use PBO for framedump, with async readback.
2016-11-07 22:17:32 +01:00
degasus
be29090aae
AVIDump: Add a struct for the state.
...
So AddFrame use no global state and can be threaded well.
2016-11-04 18:35:42 +01:00
Jules Blok
086f839435
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:02:08 +01:00
Markus Wick
d5ca153c26
Merge pull request #4401 from JosJuice/rename-getuniqueid
...
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-31 12:39:27 +01:00
Jules Blok
ce9f717045
OGL: Fall back to the old dual-source blending behaviour.
2016-10-29 18:00:22 +02:00
JosJuice
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
Jules Blok
afe707bc18
DriverDetails: Disable dual-source blending on AMD OGL drivers.
2016-10-27 22:03:25 +02:00
Jules Blok
2536e37ec5
Merge pull request #4194 from Armada651/efb-source-format
...
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-21 21:45:29 +00:00
Jules Blok
ab5054c34e
VideoBackends: Always enable dual-source blending if supported.
2016-10-10 17:32:51 +02:00
degasus
9f264c0872
AVIDump: Move CoreTiming into caller.
2016-10-10 12:03:18 +02:00
Markus Wick
a583d36c7f
Merge pull request #4326 from degasus/framedump
...
Framedump: Merge screenshot code with framedumping.
2016-10-10 11:48:57 +02:00
Markus Wick
a86b2c15d8
Merge pull request #4322 from Helios747/I_hate_features
...
Remove Frameskip
2016-10-08 21:41:43 +02:00
degasus
64927a2f81
Renderer: Merge screenshot logic into VideoCommon.
2016-10-08 19:38:57 +02:00
anthony
b427ead0cc
Remove Frameskip
2016-10-08 11:49:51 -05:00
degasus
db0509560e
AVIDump: Hard code rgba.
2016-10-08 18:16:32 +02:00
degasus
0864ef4352
VideoCommon: Add custom stride for framedumping.
2016-10-08 15:44:54 +02:00
degasus
b5a91e1dfa
Framedumps: Add finish() function to limit memory lifetime.
2016-10-08 15:39:22 +02:00
degasus
ebc617882b
VideoCommon: Drop RepeatFrameDumpFrame helper.
...
This was needed with fixed framerate dumping. As we now synchronize the frames, the last one will just get padded.
2016-10-08 15:39:21 +02:00
degasus
a530708bb1
OGL: Use VideoCommon framedump helpers.
2016-10-07 23:09:10 +02:00
degasus
34d733d376
OGL/Render: Drop write-only variable.
2016-10-07 21:44:52 +02:00
Markus Wick
ef1bfc26b2
Merge pull request #4291 from degasus/shader_gen
...
PixelShaderGen: Fix UID issues.
2016-10-05 12:20:58 +02:00
Chris Burgener
43c48a6f48
Fix frame dumps on file close in certain situations
2016-10-04 09:26:23 -04:00
degasus
829fc8f0ad
PixelShaderGen: Drop dstAlphaMode constant in shader generation.
...
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
Shawn Hoffman
86112c7258
VideoCommon: Minor changes
...
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
Mat M
ccfc081697
Merge pull request #4245 from aldelaro5/logs-levels-changes
...
Lots of Logs levels changes (also enable INFO level in every build)
2016-10-02 16:51:44 -04:00
aldelaro5
f0aa9b3751
Reorganise a ton of logs level
...
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Stenzek
828aac7890
VideoBackends: Make TextureCache::CompileShaders return a bool
2016-10-01 01:09:12 +10:00
Stenzek
6a99cbd9fc
VideoCommon: Call Renderer::SurfaceChanged on render parent resize
...
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
Stenzek
5346078791
VideoCommon: Add config fields for multithreading and validation layers
2016-10-01 01:09:12 +10:00
Stenzek
09638e714e
VideoCommon: Extend DriverDetails to support both OpenGL and Vulkan
2016-10-01 01:09:12 +10:00
Stenzek
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
Stenzek
9f541e490d
OGL: Handle case where both constant alpha and logic op is enabled
2016-09-30 23:18:14 +10:00
Markus Wick
cb759528e0
Merge pull request #3893 from hthh/perf-query-bug
...
Improve PerfQuery accuracy
2016-09-27 13:07:35 +02:00
Lioncash
5b3c74a31a
OGL: Remove unnecessary c_str calls
2016-09-09 06:30:34 -04:00
Scott Mansell
f5c70a4b27
EFB2RAM: Downsample higher resolutions with linear filtering.
2016-09-07 11:17:32 +12:00
Lioncash
ec7114a658
OGL: Remove unnecessary renderer global references
2016-08-31 14:19:56 -04:00
Jules Blok
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
Lioncash
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Scott Mansell
f1964f90d6
Merge pull request #4129 from RisingFog/hahahahahahahahahaha
...
Fix a really stupid GLSL version parsing bug
2016-08-20 08:48:28 +12:00
Chris Burgener
da0204a85c
Fix a really stupid GLSL version parsing bug
2016-08-19 08:53:27 -04:00
JosJuice
31c530c7b3
Merge pull request #3386 from lioncash/memory
...
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
Jules Blok
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
Jules Blok
7078216b61
Improve documentation.
2016-08-16 21:09:58 +02:00
Jules Blok
8c1c7fc2da
Cosmetics.
2016-08-15 13:11:30 +02:00
Jules Blok
afa251af42
DriverDetails: Add bug for broken gl_ClipDistance on i965.
2016-08-15 13:11:28 +02:00
Jules Blok
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00
Jules Blok
6e2052fae6
OGL: Disable clip distance on when not in a game-like state.
2016-08-15 13:11:27 +02:00
Jules Blok
a141e91dd2
OGL: Check for GL_DEPTH_CLAMP support.
...
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.
Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok
4582853af4
VertexShaderGen: Use reversed depth range.
2016-08-15 13:11:26 +02:00
Jules Blok
e9e81ece65
VideoBackends: Enable depth clamping.
2016-08-15 13:11:25 +02:00
Jules Blok
b1ed7e80fb
VertexShaderGen: Clip z using user-defined clipping planes.
2016-08-15 13:11:25 +02:00
Jules Blok
c223bd47b9
VideoCommon: Implement depth range equation in vertex shader.
2016-08-15 13:11:23 +02:00
Lioncash
e01c143379
Common: namespace MemoryUtil
2016-08-07 13:03:07 -04:00
Lioncash
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
hthh
8be5717a60
Improve PerfQuery accuracy
...
In TimeSplitters: Future Perfect, PerfQuery is used to detect
the visibility of lights and draw coronas. 25 points are drawn
for each light. However, the returned count was incorrectly
being divided by four leading to dim coronas.
Using 4x antialiasing was a workaround because of a bug where
antialiasing multiplied the PerfQuery results. This commit
fixes that bug too (but only for OpenGL).
2016-07-04 18:54:49 +10:00
degasus
d79aeaa1e9
VideoCommon: Drop GetConfigName.
...
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus
5f2f462067
VideoBackends: Merge ShowConfig functions.
2016-06-26 12:34:59 +02:00
degasus
7833ff25df
VideoBackends: Merge Initialize and Shutdown functions.
2016-06-26 12:34:59 +02:00
Scott Mansell
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
Scott Mansell
ebe5fd0b36
Multithreadded Shadergen: Minor fixups.
2016-06-26 16:13:22 +12:00
Scott Mansell
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
Scott Mansell
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
Scott Mansell
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
Scott Mansell
28c7113e41
Multithreadded Shadergen: Second Pass over geometery Shadergen
2016-06-26 16:13:21 +12:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Scott Mansell
d197f489b9
analytics: Report OpenGL's adapter name too.
2016-06-20 23:54:44 +12:00
Anthony Serna
0e5852f634
[OGL] Workaround nvidia being weird with GL_MAX_TEXTURE_SIZE
2016-05-30 10:06:19 -05:00
Rohit Nirmal
14220ae488
Fix building with PCH disabled.
2016-05-26 13:05:21 -05:00
Stenzek
89e54fbd6c
OGL: Work around slowdown of glMapBufferRange with SSBO on NVIDIA drivers
...
Using glMapBufferRange to read back the contents of the SSBO is extremely
slow on NVIDIA drivers. This is more noticeable at higher internal
resolutions. Using glGetBufferSubData instead does not seem to exhibit
this slowdown.
2016-05-19 21:24:09 +10:00
degasus
bca0e06a95
OGL: Use coherent mapping on Qualcomm devices.
2016-05-11 23:55:28 +02:00
degasus
6219c39cf5
OGL: Drop QC ES3.1 workaround.
...
This was never tested well:
HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
Stenzek
6f3573dda8
D3D12: Implement XFB encoding/decoding (support Real XFB)
2016-05-08 23:18:51 +10:00
Pierre Bourdon
2fd0884347
Merge pull request #3672 from EmptyChaos/d3d-anisotropy
...
Fix D3D Forced Anisotropy
2016-03-26 03:25:01 +01:00
Scott Mansell
066b6b0bcb
OpenGL: Cache query to max texture size.
...
This showed up really high when I was profiling things.
2016-03-26 03:14:39 +13:00
EmptyChaos
0b9a72a62d
VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper function
2016-03-24 13:43:29 +11:00
EmptyChaos
902e5cddf7
VideoBackends: Do not use Anisotropy on Point filtered textures.
...
The D3D backend was always forcing Anisotropic filtering when that is enabled regardless of how the game chose to configure the texture filtering registers; this causes the same issues as "Force Filtering" without Anisotropy, such as causing game UI elements to no longer line up adjacent correctly. Historically, OpenGL's Anisotropy support has always worked "better" than D3D's due to seeming to not have this problem; unfortunately, OpenGL's Anisotropy specification only gives GL_LINEAR based filtering modes defined behavior, with only the mipmap setting being required to be considered. Some OpenGL implementations were implicitly disabling Anisotropy when the min/mag filters were set to GL_NEAREST, but this behavior is not required by the spec so cannot be relied on.
2016-03-24 13:43:29 +11:00
mimimi085181
bb4d636f34
Copy all layers of textures with CopyRectangleFromTexture
2016-02-14 21:17:06 +01:00
Ryan Houdek
e1f21602fd
Merge pull request #3426 from Sonicadvance1/ES_fix_framedump
...
Add support for framedumping to OpenGL ES.
2016-01-28 18:24:32 -05:00
Lioncash
5ebd1e215b
Fifo: Make g_bSkipCurrentFrame a TU-local variable
...
This is only ever queried, making it a global isn't necessary.
2016-01-25 05:23:14 -05:00
Lioncash
e187c55bdd
OpcodeDecoder: Add namespace
2016-01-24 01:31:36 -05:00
Pierre Bourdon
be1a9e4231
Merge pull request #3518 from Sonicadvance1/blacklist_sandy
...
Blacklist Sandy Bridge on mesa from using geometry shaders.
2016-01-20 19:32:56 +01:00
Ryan Houdek
3dda36bc5b
Blacklist Sandy Bridge on mesa from using geometry shaders.
2016-01-20 12:13:21 -06:00
Lioncash
d9fec92628
VideoCommon: Header cleanup
...
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
degasus
5f244abf28
Fifo: Create a "Fifo" namespace.
2016-01-12 23:28:26 +01:00
degasus
0c92603fd5
Merge VideoBackendHardware into VideoBackend.
...
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Ryan Houdek
5a549ef663
[Android] Add support for rotation and minimizing the application
2016-01-10 13:00:32 -06:00
Pierre Bourdon
e7fbd1fd50
Merge pull request #3439 from Armada651/depth-range
...
Render: Clamp the z range to the full range.
2016-01-10 19:09:57 +01:00
Ryan Houdek
b4eb5d8e3f
Disable geometry shaders on mesa AMD/ATI drivers.
...
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Ryan Houdek
3f15aa4b57
Add support for framedumping to OpenGL ES.
2016-01-09 00:21:20 -06:00
Pierre Bourdon
bf1c53a6e8
Merge pull request #3451 from RisingFog/libav
...
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-09 01:01:05 +01:00
Chris Burgener
c34fb3edf0
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-07 18:37:58 -05:00
Jules Blok
db551c55a2
FrameBufferManager: Fix typo in stereoscopic MSAA shader.
2016-01-07 20:05:12 +01:00
degasus
ad1f7576ad
VideoConfig: Use "GFX.ini" for both D3D and OGL.
...
They share the same format, so there is no need to separate their configs.
2016-01-06 21:43:11 +01:00
Ryan Houdek
0a42a0ab1b
Merge pull request #3428 from Sonicadvance1/proper_glextensions
...
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Mathew Maidment
0509292f86
Merge pull request #3431 from stenzek/shadercache
...
ShaderGen: Remove virtual methods and string from ShaderGeneratorInterface.
2016-01-04 19:11:14 -05:00
Markus Wick
ca7160f714
Merge pull request #3434 from lioncash/enum
...
OnScreenDisplay: Make CallbackType an enum class
2016-01-04 13:47:22 +01:00
Markus Wick
3045e08daf
Merge pull request #3430 from lioncash/compare
...
ProgramShaderCache: Simplify SHADERUID comparison operators
2016-01-04 13:42:39 +01:00
Lioncash
1bcfae5fd7
OGL: Correct unique_ptr types
...
By default unique_ptr will call delete on the given type if an array
qualifier isn't present, not delete[]. It's important to explicitly
specify an array is being handled.
2016-01-03 16:00:16 -05:00
Jules Blok
8c3108b354
Render: Clamp the z range to the full range.
2016-01-03 15:39:34 +01:00
Lioncash
01f99a04a2
VideoBackend: Get rid of a boolean global
...
Also gets rid of global headers
2016-01-02 18:03:28 -05:00
Lioncash
edda018d54
OnScreenDisplay: Make CallbackType an enum class
2016-01-02 14:57:55 -05:00
Ryan Houdek
37525f3fcf
Make GLExtensions no longer require slghtly modified GL headers.
...
In fact, removes the need for external headers at all.
2016-01-02 10:34:13 -06:00
Stenzek
617f9d9532
ShaderGen: Remove virtual methods from ShaderGeneratorInterface, move string buffer to ShaderCode
...
This fixes the crashes occuring at startup with a non-empty shader cache.
Because LinearDiskCache reads/writes to the storage of ShaderUid, ShaderUid must be trivially copyable.
Additionally, adds a static assert to LinearDiskCache to ensure this doesn't happen in the future.
The initialization of ShaderUid data has been moved to the code generation functions, so the above condition holds true.
2016-01-02 17:35:06 +10:00
Lioncash
6093d1f72a
ProgramShaderCache: Simplify SHADERUID comparison operators
2016-01-01 22:28:42 -05:00
Ryan Houdek
b4e9bbb551
Merge pull request #3336 from Sonicadvance1/improve_glextensions
...
[GLExtensions] Improve the extension loader.
2016-01-01 13:01:51 -05:00
Markus Wick
330329254c
Merge pull request #3361 from stenzek/d3d-vectored-efb-pokes
...
D3D: Implement vectored efb pokes
2015-12-30 15:27:24 +01:00
Scott Mansell
d8e5d8659e
TextureCache, fix an incorrect assert.
2015-12-29 14:25:31 +13:00
Markus Wick
aabcd441d9
Merge pull request #3381 from Armada651/revert-3076
...
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28 10:18:32 +01:00
Lioncash
8ce3a4aa70
ShaderGeneration: Get rid of static buffers
2015-12-26 17:01:54 -05:00
Stenzek
12ef4c8ae0
OGL: Fix for black framebuffer when resolution/msaa mode changes
2015-12-23 23:29:32 +10:00
Lioncash
da0e647346
Render: Get rid of explicit new and delete
2015-12-22 19:10:05 -05:00
Jules Blok
8bda12bcfd
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
...
This reverts commit 81414b4fa2
, reversing
changes made to b926061f64
.
Conflicts:
Source/Core/DolphinWX/Frame.cpp
Source/Core/VideoCommon/VideoConfig.cpp
Source/Core/VideoCommon/VideoConfig.h
2015-12-23 00:35:19 +01:00
Lioncash
e422af9cce
FramebufferManager: Get rid of raw new and delete
2015-12-22 18:06:05 -05:00
Lioncash
f448c6e291
FramebufferManagerBase: Get rid of explicit delete and new
2015-12-21 15:57:48 -05:00
Lioncash
d20ba76ab3
StreamBuffer: Make factory function return a std::unique_ptr
2015-12-21 10:21:38 -05:00
Lioncash
ec71452706
StreamBuffer: Correct function casing
2015-12-21 10:09:03 -05:00
Lioncash
1eea95a5be
StreamBuffer: Use std::array for fences
2015-12-21 10:07:56 -05:00
Lioncash
7b69fec8e7
StreamBuffer: Remove unnecessary inline specifiers
...
Methods defined directly in class bodies are inline by default
2015-12-21 10:04:14 -05:00
Lioncash
f295182833
VideoBackends: Simplify initialization and deinitialization of resources
...
Approximately three or four times now, the issue of pointers being
in an inconsistent state been an issue in the video backend renderers
with regards to tripping up other developers.
Global (ugh) resources are put into a unique_ptr and will always have a
well-defined state of being - null or not null
2015-12-20 22:40:37 -05:00
Stenzek
a61fc372bb
VideoCommon: Change PokeEFB to take a pointer rather than a vector
...
This saves allocating a vector for the pass-through path.
2015-12-20 14:42:14 +10:00
degasus
e26d9f7c35
MSAA: Store samples in ini files.
2015-12-15 09:41:01 +01:00
Ryan Houdek
78dda1cf79
[OGL] Update extension checks in Render.
...
This was relying on behaviour that GLExtensions was adding fake extensions to the supported list with ES.
This no longer happens so it needed to be changed.
2015-12-13 11:39:45 -06:00
Ryan Houdek
21b708106c
Make sure not to use a GL texture buffer past the max size.
...
The spec says that vendors can set the max texture size to be 65KB and we want 1MB.
Check the maximum supported and drop to the max if it is less than 1MB
2015-11-30 01:18:03 -06:00
degasus
fc00598785
NativeVertexFormat: Inline Initialize in contructor
...
They were only called at once, so no need to seperate them.
This also removes the only dereference of the NativeVertexFormat in VideoCommon, so backends may just return nullptr.
2015-11-24 22:48:49 +01:00
degasus
df799dd124
VideoCommon: Create default implementation for state setters
...
It's fine to pull those within the backends, so there is no need to enforce them to implement this interface.
2015-11-24 22:39:10 +01:00
Ryan Houdek
d27dcdba48
We shouldn't be trying to enable the SSBO extension in ES.
2015-11-23 14:47:43 -06:00
Ryan Houdek
ed5e3c054e
Enable Anisotropic filtering in ES.
...
This adds a check to make sure the vendor supports anisotropic filtering.
Pretty much all vendors support this, even the mobile ones.
2015-11-19 02:00:43 -06:00
degasus
087ba5268a
TextureCache: Rewrite EFB Copy control flow
2015-11-15 12:02:41 +01:00
degasus
dcdf8fd3ce
TextureCache: Split efb2ram from efb2tex
2015-11-15 11:59:52 +01:00
degasus
71b22702a1
OGL-TextureConverter: Keep care about the global state ifself
2015-11-15 11:59:52 +01:00
degasus
495902787c
OGL: Remove TCache::Entry usage in TextureConverter
2015-11-15 11:59:52 +01:00
Tillmann Karras
81d9cce70c
VideoCommon: rename TextureCache to TextureCacheBase
2015-11-06 15:43:58 +01:00
Scott Mansell
51c984dde3
Remove the "Show EFB Copy Regions" debug option.
...
It was only implemented in OpenGL, though the option was visible in both
backends, leading to memory leaks if you enabled it in DirectX.
And it wasn't particularly useful as a debug feature as it only showed
where in the EFB the copies were taken from, not what format it was, or
what the copy was used for, or what content was in the EFB at that point
in time.
Also, it stretched the copy regions relative to the window, so the
on-screen regions don't even line up with the window unless the game used
the full EFB (some pal games) and you game image stretched to the full
window.
2015-11-05 18:15:46 +13:00
Scott Mansell
05b06b7a21
Merge pull request #3227 from Tilka/sizeof
...
OGL: don't hardcode buffer sizes
2015-11-04 14:35:23 +13:00
Tillmann Karras
39313152ba
OGL: use StringFromFormat where appropriate
2015-11-04 01:56:02 +01:00
Scott Mansell
e161e714c7
Merge pull request #3226 from Tilka/shadergen
...
VideoCommon: return code/uid from shader gens
2015-11-04 13:42:49 +13:00
Tillmann Karras
bc38892db7
DriverDetails: remove BUG_BROKENINFOLOG leftovers
...
It was removed in 9618738278
.
2015-11-03 18:50:44 +01:00
Tillmann Karras
71d1eb3c31
VideoCommon: return code/uid from shader gens
...
rather than passing in non-const references
2015-11-03 14:40:23 +01:00
Tillmann Karras
c52c73f762
VideoCommon: VertexManager -> VertexManagerBase
...
It may be a bit weird to see calls to static functions in
VertexManagerBase now, but at least it's easier to see what's going on.
2015-11-02 11:53:54 +01:00
Tillmann Karras
983978ee66
VideoCommon: flush vertex manager if components change
2015-11-01 22:39:31 +01:00
Tillmann Karras
7066689131
ShaderCaches: remove unneeded typedefs
2015-10-29 14:43:05 +01:00
Tillmann Karras
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
Lioncash
c28e3affc5
TextureCacheBase: Change CacheLinesPerRow to BytesPerRow
2015-10-22 08:14:43 -04:00
Scott Mansell
9ee610830c
Make sure FORCE_EARLY_Z is defined for GLES
2015-10-18 02:37:14 +13:00
Scott Mansell
e7b2a22225
Support Conservative Depth as a fallback for EarlyZ
...
Allows Mesa based drivers to support ZCompLoc
2015-10-18 01:46:54 +13:00
flacs
b0bbe52cc9
Merge pull request #3164 from phire/samplerArrays
...
PixelShaderGen: Use arrays of texture samplers.
2015-10-12 18:44:14 +02:00
Scott Mansell
645e4cbbee
PixelShaderGen: Use arrays of texture samplers.
2015-10-12 05:06:39 +13:00
Tillmann Karras
99228633c3
OGL: simplify AA modes initialization
2015-10-10 22:51:31 +02:00
shuffle2
81414b4fa2
Merge pull request #3076 from void-ghost/stereo3d_presets
...
Stereo3d presets
2015-10-03 18:10:23 -07:00
Lioncash
5464e698fc
Merge pull request #3102 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
Scott Mansell
58d893e56f
Merge pull request #3075 from waddlesplash/no-regexp
...
FileSearch: Don't use RegExes, just do string comparisons.
2015-10-02 04:00:23 +13:00
Lioncash
d6ff75d71d
OGL: Remove unnecesary FPSCounter include from Render.cpp
2015-09-29 10:01:38 -04:00
Rohit Nirmal
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
waddlesplash
06c6f60f5b
OGL: Use SplitPath() instead of std::regex.
2015-09-27 13:26:19 -04:00
waddlesplash
5643fe5d1f
FileSearch: Don't use RegExs, just do string comparisons.
...
Nothing used the RegEx feature of FileSearch, and GCC < 4.9
doesn't support C++11 RegEx properly, so get rid of it.
2015-09-27 13:25:51 -04:00
flacs
8ea9b07b59
Merge pull request #3093 from lioncash/header_shuffle
...
Common: Trim Common.h
2015-09-27 03:18:03 +02:00
Lioncash
1d42db2439
Common: Move NonCopyable to its own header
2015-09-26 18:50:35 -04:00
Ryan Houdek
be667e7de8
Merge pull request #3035 from aserna3/SSAAImprovements
...
Improved OGL and D3D's AA options in UI
2015-09-26 09:27:39 -04:00
Anthony Serna
df189c3ea3
Improved D3D and OGL AA option UI
...
Removed Quality Levels from D3D AA options
Dropdown text now shows whether you're applying MSAA or SSAA
Added a description for SSAA
Moved SSAA checkbox
Cleaned up AA in backends slightly. Supported modes is now a list of ints.
2015-09-25 09:05:18 -07:00
ghost
07e4b4f7c4
VideoBackend: Video config filename is now exposed in VideoBackends.
...
It reduces redundancy. Needed make possible to save current video config.
2015-09-22 09:47:19 +03:00
Scott Mansell
c9836ff592
EGL: Don't depend on VideoCommon or Core
2015-09-22 00:36:48 +12:00
Scott Mansell
93f6563789
WGL: Don't depend on Core/VideoCommon
2015-09-22 00:36:45 +12:00
Scott Mansell
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00
degasus
c976e14277
GLInterface: Fix VideoSW on linux + OSX (v2)
...
Our Video Software backend isn't OpenGL Core compatible, so we need a flag to alloc a compatible one.
v2: Fix AGL profile selection.
2015-09-19 13:22:55 +02:00
Markus Wick
a7e9a154a5
Revert "GLInterface: Fix VideoSW on linux + OSX"
2015-09-18 13:40:09 +02:00