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
2ab6711f43
VideoBackends: Use the full depth range when inverted depth range is unsupported.
2016-12-27 14:31:17 +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
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
Mat M
9160be50db
Merge pull request #4224 from lioncash/tcache
...
TextureCacheBase: Eliminate static state
2016-12-23 04:33:42 -05:00
Stenzek
accce4294a
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-15 02:20:46 +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
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
Stenzek
d6d3341183
D3D: Fix strided XFB copies
2016-11-19 20:29:51 +10:00
Jules Blok
7e35a47b51
Cosmetics.
2016-11-13 22:17:40 +01:00
Jules Blok
d7cf5e28b6
Frame: Use PauseAndLock when switching fullscreen modes.
...
This allows us to regain exclusive mode directly from OnActive().
2016-11-11 20:36:10 +01:00
Jules Blok
9909babe2c
D3DBase: Create the swapchain in fullscreen mode if enabled.
2016-11-11 20:36:10 +01:00
Jules Blok
0a194f8a3e
VideoConfig: Remove fullscreen flags.
...
These weren't actually settings, they were used as a bad way to communicate with the GPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok
c21efa0cad
D3D: Move exclusive mode switching to UI thread.
...
This prevents deadlocks when switching to exclusive mode.
And it also allows the CPU thread to block until we've completed the switch.
2016-11-11 20:36:04 +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
Markus Wick
9ce1cdde98
Merge pull request #4414 from linkmauve/single-newline
...
Remove double newlines at the end of *_LOG messages
2016-11-02 12:20:46 +01:00
Emmanuel Gil Peyrot
c9e6b05ce9
Core: Remove double newlines at the end of *_LOG messages.
2016-11-02 02:09:33 +00: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
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
shuffle2
c8cb1fa7d7
Merge pull request #4319 from leoetlino/sysconf
...
Don't read/store settings directly from/to SYSCONF (and fix config restore)
2016-10-09 02:34:52 -07: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
1ef5ba0c53
D3D: Skip redundant format convertions.
2016-10-08 15:40:49 +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
Léo Lam
39fd6dcd5b
Fix missing includes
...
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
degasus
64b648f6c8
D3D: Use VideoCommon framedumping helpers.
2016-10-07 23:10:36 +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
Stenzek
828aac7890
VideoBackends: Make TextureCache::CompileShaders return a bool
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
Markus Wick
cb759528e0
Merge pull request #3893 from hthh/perf-query-bug
...
Improve PerfQuery accuracy
2016-09-27 13:07:35 +02:00
Scott Mansell
f5c70a4b27
EFB2RAM: Downsample higher resolutions with linear filtering.
2016-09-07 11:17:32 +12:00
Lioncash
168e145fae
D3D: Remove unnecessary renderer global references
2016-08-31 14:17:22 -04:00
Scott Mansell
0fbf72cbf1
Merge pull request #4140 from Armada651/ww-depth
...
D3D: Correctly invert the viewport depth range.
2016-08-24 02:28:53 +12:00
Jules Blok
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
Jules Blok
65472260d8
D3D: Correctly invert the viewport depth range.
2016-08-23 09:57:11 +02:00
Lioncash
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Jules Blok
7078216b61
Improve documentation.
2016-08-16 21:09:58 +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
e9e81ece65
VideoBackends: Enable depth clamping.
2016-08-15 13:11:25 +02:00
Stenzek
bce8097712
D3D11: Support texture dumping of non-zero mipmap levels
2016-08-10 23:45:25 +10:00
Pierre Bourdon
d078c6cb35
Merge pull request #4073 from amaiorano/fix-d3d-debugobjectname
...
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rat…
2016-08-01 00:38:02 +02:00
amaiorano
2030a5e1b8
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rather than the depth_read_texture (probably a copy paste error)
2016-07-31 10:48:09 -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
Chris Burgener
28a3691e70
Merge pull request #3930 from RisingFog/split_video_dump_resolution
...
Split Video Dumps on Resolution Change
2016-06-27 22:39:19 -04:00
Chris Burgener
f31adf9635
Fix D3D crashes/issues
2016-06-27 10:13:17 -04:00
Léo Lam
1b71249562
D3D: Fix crash on start with BBox enabled
...
Someone removed the BBox::Init(), causing crashes when BBox is enabled.
Fixes issue #9643 .
2016-06-27 12:45:00 +02: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
43d0d692f9
Fix D3D12 headers missing includes.
2016-06-24 11:14:10 +00:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Stenzek
e169d54f3c
D3D11: Fix CPU EFB color reads when MSAA is enabled
...
Also swaps the byte order from RGBA->BGRA to match GL/D3D12, and what
the read handler is expecting.
Depth reads will now return the minimum depth of all samples, instead of
the average of all samples.
2016-05-19 22:51:00 +10:00
Jules Blok
8a21b082d6
Merge pull request #3745 from stenzek/d3d11-texcache
...
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
2016-04-24 11:47:32 +02:00
Lioncash
33c22ffab7
D3D: Amend code to fix a new VS warning
...
Fixes warning C4334
2016-03-30 20:59:57 -04:00
Stenzek
53cf42fb06
D3D11: Fix some cases where render target switches desynced StateManager
...
This was occuring in certain EFB copy patterns, leaving the textures
unbound for the next draw call.
2016-03-26 00:01:26 +10:00
Stenzek
63e4e07683
D3D11: Simplify MSAA depth texture resolving
...
This also fixes EFB depth buffer copies when MSAA is enabled.
2016-03-26 00:00:39 +10: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
Pierre Bourdon
961901daae
Merge pull request #3355 from mimimi085181/partial-texture-updates-check-dimensions
...
Partial texture updates: Check the dimensions of the efb copy
2016-02-29 00:49:48 +01:00
Chris Burgener
6fe3a3004d
Rename Direct3D to Direct3D 11
2016-02-16 22:43:21 -05:00
Lioncash
932dd14418
NativeVertexFormat: Add missing override specifier
2016-02-15 23:41:20 -05:00
Lioncash
69c82f32ff
NativeVertexFormat: Use in-class initialization
2016-02-15 23:40:34 -05:00
mimimi085181
bb4d636f34
Copy all layers of textures with CopyRectangleFromTexture
2016-02-14 21:17:06 +01:00
mimimi085181
99555a35ca
For partial texture updates check the dimensions of the efb copy and the target texture, not just the binary size.
...
This should get Donkey Kong Country Returns characters to be as broken as they should be. They will be fixed in a later pr.
Expected result is:
efbtex: characters are always flickering or invisible, no matter what scaling or IR setting
efb2ram: characters are always working properly at 1xIR, no matter what scaling or IR setting
2016-02-14 17:13:51 +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
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
Jules Blok
48b60649af
Merge pull request #3495 from Armada651/d3d-float
...
D3D: Use a 32-bit floating point depth buffer.
2016-01-14 00:39:23 +01: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
Jules Blok
8158d291aa
D3D: Use the full depth range for Z pokes.
2016-01-11 22:27:41 +01:00
Jules Blok
129975233f
D3D: Use a 32-bit floating point depth buffer.
2016-01-11 22:27:40 +01: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
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
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
Jules Blok
8c3108b354
Render: Clamp the z range to the full range.
2016-01-03 15:39:34 +01:00