Jules Blok
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
Stenzek
b8eb1080ce
Merge pull request #4924 from stenzek/vulkan-list-restart
...
Vulkan: Fix GPU hangs on AMD Polaris
2017-02-18 21:58:30 +10:00
Markus Wick
6acad27919
Merge pull request #4927 from lioncash/unique-ptr
...
VertexManagerBase: Make CreateNativeVertexFormat return a unique_ptr
2017-02-18 12:40:00 +01:00
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
Matthew Parlane
4da7164f66
Merge pull request #4596 from ligfx/updateffmpeg
...
AVIDump: Updates to avoid deprecation warnings
2017-02-18 21:12:37 +13:00
Stenzek
e2ddb3853e
DriverDetails: Set BUG_PRIMITIVE_RESTART for AMD drivers
2017-02-18 15:07:35 +10:00
Matthew Parlane
691abc223b
Merge pull request #4859 from lioncash/opcodedecoder
...
OpcodeDecoding: Convert #defines into enum constants
2017-02-08 18:12:11 +13:00
Lioncash
d9d069e024
OpcodeDecoding: Convert #defines into enum constants
...
Gets several constants out of global scope.
2017-02-08 00:05:17 -05:00
Florent Castelli
8c82607c95
cmake: Don't use unqualified target_link_libraries
...
You can't mix unqualified and qualified link libraries (PUBLIC / PRIVATE).
Use the modern form.
2017-02-08 03:07:43 +01:00
Michael Maltese
04158dfe15
AVIDump: use a separate AVCodecContext
...
Using the AVCodecContext contained in AVStream for muxing is officially
discouraged[1] and AVStream::codec was deprecated in favor of
AVStream::codecpar in libavformat 57.33.100 / 57.5.0.
1: [FFmpeg-cvslog] lavf: replace AVStream.codec with AVStream.codecpar: https://ffmpeg.org/pipermail/ffmpeg-cvslog/2016-April/099152.html
2017-02-06 20:23:37 -08:00
Michael Maltese
867d6134c5
AVIDump: open codec before stream
...
Minor oversight in the existing code.
2017-02-06 20:23:37 -08:00
Michael Maltese
dd3d8c7a4e
AVIDump: use avformat_free_context
...
This function frees all associated streams and codec contexts, and
has existed since libavformat 52.96.0 (February 2011).
2017-02-06 20:23:37 -08:00
Michael Maltese
ac214190fd
AVIDump: Replace deprecated avcodec_encode_video2
2017-02-06 20:23:37 -08:00
Markus Wick
eb3c172b95
Merge pull request #4618 from Helios747/bounding_box_check
...
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-06 21:58:19 +01:00
Helios747
4c22e6387d
[Video] Warn when booting a bounding box game on an unsupported GPU
2017-02-04 10:08:52 -08: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
JosJuice
045de7dd26
Remove special condition for auto dual core determinism
2017-02-01 15:43:47 +01:00
Lioncash
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
Lioncash
1f24cf2a2d
RenderBase: Get rid of unnecessary casts
2017-01-31 20:25:50 -05:00
Lioncash
b7e59f4e55
AVIDump: Rename CloseFile to CloseVideoFile
...
Retains symmetry with CreateVideoFile.
2017-01-29 22:05:12 -05:00
Markus Wick
3405f0ba01
Merge pull request #4739 from AdmiralCurtiss/auto-adjust-window-size-16-9
...
Make the "Auto Adjust Window Size" option respect the current game's aspect ratio.
2017-01-28 13:02:54 +01:00
Mat M
ede9c6255a
Merge pull request #4770 from degasus/fifo
...
CommandProcessor: Limit scope of ugly SCPFifoStruct.
2017-01-28 06:43:23 -05:00
Admiral H. Curtiss
b2c40bf4c4
RenderBase: Let the Auto Adjust Window Size option request the final image size rather than the raw framebuffer size.
2017-01-28 11:40:53 +01:00
Admiral H. Curtiss
e1fa6c374f
RenderBase: Extract the framebuffer size to display size code into function.
2017-01-28 11:40:53 +01:00
degasus
3787af9ee9
CommandProcessor: Limit scope of ugly SCPFifoStruct.
...
It's only used as an interface between two classes. So no need to declare
it in the backend export header.
2017-01-27 19:04:56 +01:00
degasus
ba1decf7bc
PixelEngine: Use a DirectRead for the token.
...
No need to call a std::function, and a few games poll this value very often.
2017-01-27 07:49:47 +01:00
Stenzek
b74029ec57
TextureDecoder: Use target attributes on SSSE3 decoders
2017-01-24 20:04:55 +10:00
Matthew Parlane
f70a1a27fa
Merge pull request #4726 from ligfx/addingwindowsheaders
...
Fix building without PCH on Windows
2017-01-24 13:47:36 +13:00
Lioncash
7a58a82a37
BPMemory: Add const specifier to member functions where applicable
2017-01-23 16:07:03 -05:00
Lioncash
1f596a23af
BPMemory: Eliminate union type punning
...
This is undefined behavior in C++.
2017-01-23 16:05:32 -05:00
Lioncash
70cf774a5c
RenderBase: Forward declare EFBAccessType
2017-01-23 12:41:26 -05:00
Lioncash
940aa6f32d
VideoBackendBase: Convert FieldType into an enum class
2017-01-23 03:54:01 -05:00
Lioncash
5b461f50af
VideoBackendBase: Convert EFBAccessType into an enum class
2017-01-23 03:53:38 -05:00
Michael Maltese
c3a1547d9a
AVIDump: rename CreateFile -> CreateVideoFile (conflict with windows.h)
2017-01-23 00:35:18 -08:00
degasus
65e3aa796e
VideoConfig: Fix boolean default values.
2017-01-21 11:31:44 +01:00
Matthew Parlane
ed7589cb0f
Merge pull request #4656 from hthh/cmpr-fixes
...
TextureDecoder: Fix off-by-one errors in CMPR
2017-01-17 11:05:42 +13:00
hthh
88d52b4d69
TextureDecoder: Deduplicate some utility code
2017-01-15 20:23:26 +11:00
hthh
5d4e4aa561
TextureDecoder: Fix off-by-one errors in CMPR
2017-01-14 10:52:35 +11:00
Jules Blok
271a9fe7a9
VertexShaderManager: Break up the conditions to make it readable.
2017-01-13 14:01:17 +01:00
Jules Blok
f866748006
VertexShaderGen: Remove the need for an extra UID.
2017-01-13 14:01:17 +01:00
Stenzek
2f223e24dc
TextureDecoder: Seperate each format into its own function
2017-01-10 20:41:00 +10:00
Matthew Parlane
7a4464c3e0
Merge pull request #4599 from stenzek/point-uvs
...
GeometryShaderGen: Use lower-left origin for point texture coordinates
2017-01-08 13:40:55 +13:00
degasus
f6c7a258ed
BlendState: Use masking as a fastpath for the logic op NO_OP.
2017-01-06 14:01:39 +01:00
degasus
23b0faeba5
OGL: Use VideoCommon blend state for framebuffer configuration.
2017-01-06 14:01:39 +01:00
degasus
3df828463d
VideoCommon: Assembly blending state in a shared state object.
2017-01-06 14:01:36 +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
Stenzek
176177af49
GeometryShaderGen: Use lower-left origin for point texture coordinates
...
From what I can tell, the emulated GPU places (0,0) at the lower left of
the image, and we were generating texture coordinates so that (0,0) was
at the upper-left in the expansion geometry shader, causing textures
used by point sprites to be flipped vertically.
Fixes the upside-down A button in Mario Golf.
2017-01-04 20:23:07 +10:00
Stenzek
5f3c878ba2
FifoPlayer: Save/restore texture memory state for fifo logs
2017-01-03 21:16:05 +10:00
Jules Blok
a2e191649d
Merge pull request #4471 from Armada651/hybrid-depth
...
VideoCommon: Don't process the depth range in the vertex shader if it's not oversized.
2016-12-29 18:49:27 +01:00
Jules Blok
ee7a2edf35
Update comments
2016-12-27 21:32:52 +01:00
degasus
d0a73c1d90
TextureCache: Add a dirty bit for partial updates on overlapping EFB copies.
2016-12-27 17:26:04 +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
Tillmann Karras
44acd9fdb9
VideoCommon: use u32 for texture addresses
2016-12-25 18:48:19 +01:00
Lioncash
c5243d6d12
CommandProcessor: Remove unimplemented prototypes
2016-12-24 01:15:50 -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
Stenzek
344f2e57f6
VideoCommon: Use avg(color1, color2) for color3 in CMPR textures
2016-12-19 20:17:44 +10:00
Stenzek
accce4294a
TextureCache: Use same color coefficients for EFB2Tex as EFB2RAM
2016-12-15 02:20:46 +10:00
Stenzek
5aaa5141ed
PixelShaderGen: Fix incorrect indexing of tevLerpBias
...
Fixes the white box in the fortune street fifolog.
2016-12-13 00:03:25 +10:00
Markus Wick
d64c9dd5c9
Merge pull request #4419 from degasus/master
...
Jit64: Fix a few trivial PIE issues.
2016-12-12 10:58:16 +01:00
Lioncash
8dcb05802b
ShaderManagers: Use aggregate initialization for some variables.
...
These provide the same semantics, however aggregate initialization
doesn't force the structs to be trivially copyable. memset, on the other
hand, does.
2016-12-10 17:33:51 -05: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
degasus
5082a664c8
VertexLoaderX64: Avoid unchecked pointer cast.
2016-12-04 13:09:16 +01:00
Stenzek
adc22a5e20
VideoCommon: Add method for calculating full-scale framedump rectangles
2016-11-28 21:54:54 +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
a83ca587c6
VideoCommon: Make FramebufferManagerBase::GetTargetSize public
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
Stenzek
681294586b
Merge pull request #4455 from stenzek/png-frame-dumping
...
VideoCommon: Support dumping frames to images
2016-11-28 20:03:50 +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
6d0b9b816f
VideoCommon: Support dumping frames to images
...
This is mainly for potential Android fifoci usage, and thus is not
exposed anywhere in the UI. To enable, set DumpFramesAsImages under
Settings in GFX.ini.
2016-11-23 12:07:49 +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
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
Jules Blok
8203ea929b
BlockingLoop: Yield to UI message pump while waiting.
2016-11-11 13:37:02 +01:00
degasus
193dd97759
VideoCommon: Drop FlipImageData.
...
This function isn't used any more, and good code shouldn't use it at all. Use negative strides instead.
2016-11-10 12:59:22 +01:00
degasus
52caa4f2f5
VideoCommon/Render: Inplace frame dump encoding.
...
This increase the performance of good backends a bit, but slows down the bads one a lot.
Let's fix those backends instead of forcing stupid memcpy in the common code.
2016-11-10 12:59:19 +01:00
degasus
a47332bf8a
VideoCommon/Render: Use a flag for screenshot.
2016-11-07 22:16:34 +01:00
degasus
d79840078f
Renderer: Threaded frame dumping.
2016-11-07 22:11:13 +01:00
degasus
3c65c5f2c5
AVIDump: Drop frames which are delayed over a savestate.
2016-11-04 18:39:50 +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
degasus
dad5041737
AVIDump: Inline OSD error handling.
...
This fixes a review feedback in PR #4345 .
2016-11-04 18:03:14 +01:00
degasus
03d8efc270
AVIDump: Merge redundant variables.
...
They were always the same. We also don't scale at all.
2016-11-04 18:03:14 +01:00
degasus
112e18a5d1
AVIDump: Drop stored frame.
...
This used an invalid pointer, which was only valid within AddFrame.
This drops a feature which shall dump the last frame as it might was dropped before.
A good implementation however should "overwrite" the last frame if the time matches.
But this needs to delay every frame a bit.
2016-11-04 18:03:14 +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
Jules Blok
2058a49465
PixelShaderGen: Remove unused global variable.
2016-10-31 15:02:08 +01:00
Jules Blok
086f839435
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:02:08 +01:00
Markus Wick
b9e4370023
Merge pull request #4383 from Sintendo/minor-text-fixes
...
Fix minor comment typos
2016-10-31 12:51:42 +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
d0e60492cf
PixelShaderGen: Don't use a global variable.
2016-10-30 00:48:02 +02:00
Jules Blok
d778400133
DriverDetails: Add OS X to the dual-source blending bug.
2016-10-30 00:47:02 +02: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