Commit Graph

3084 Commits

Author SHA1 Message Date
Lioncash 488e7bd46a Fifo: Get rid of undefined global
This declaration doesn't have a matching implementation
so it can be removed entirely.
2016-01-25 05:24:03 -05:00
Lioncash 32ce2be2bf Fifo: Make g_use_deterministic_gpu_thread a TU-local variable 2016-01-25 05:24:03 -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
Pierre Bourdon 0bd649248f Merge pull request #3530 from degasus/syncgpufix
Fifo: Fix SyncGPU.
2016-01-25 10:46:08 +01:00
Mathew Maidment bad7242c63 Merge pull request #3559 from lioncash/tcache
TextureCacheBase: Simplify init/comparison of TCacheEntryConfig
2016-01-24 17:18:08 -05:00
Mathew Maidment e9713e19d7 Merge pull request #3561 from lioncash/render
RenderBase: Get rid of an undefined global extern
2016-01-24 17:17:48 -05:00
Mathew Maidment b451b722fb Merge pull request #3562 from lioncash/cpmem
CPMemory: Remove unnecessary extern specifiers from functions
2016-01-24 17:17:31 -05:00
degasus 4295751662 Fifo: More comments for SyncGPU functions. 2016-01-24 11:06:01 +01:00
degasus cf4478dc92 Fifo: Fix SyncGPU.
CBoot::BootUp() did call CoreTiming::Advance which itself blocks on the GPU,
but the GPU thread wasn't started already. This commit moves the SyncGPU
initialization into the Fifo.cpp file and call it after BootUp().
2016-01-24 11:06:01 +01:00
Lioncash e187c55bdd OpcodeDecoder: Add namespace 2016-01-24 01:31:36 -05:00
Lioncash 758cd796a7 CPMemory: Remove unnecessary extern specifiers from functions
These are defined in CPMemory.cpp, as expected. There's no need for
extern
2016-01-24 01:17:43 -05:00
Lioncash 508c521f10 RenderBase: Get rid of an undefined global extern
This doesn't have an implementation, so into
the trash it goes.
2016-01-24 01:07:24 -05:00
Lioncash 59d5935067 TextureCacheBase: Simplify init/comparison of TCacheEntryConfig 2016-01-23 22:57:05 -05:00
Lioncash f45e1bff37 VideoInterface: Change a global into a translation-unit local variable 2016-01-21 00:39:24 -05:00
Pierre Bourdon f98176f38a Merge pull request #3528 from Shugyousha/codedframedeprecated
AVIDump: coded_frame is deprecated
2016-01-20 19:40:31 +01: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
Silvan Jegen 59f72d3571 AVIDump: coded_frame is deprecated
Setting this is not required anymore as of commit 40cf1bbacc622 of
FFmpeg.

For users of older versions of the libavcodec library we guard the
change with an #if.
2016-01-19 20:38:21 +01:00
Jules Blok 51a36f27e0 Merge pull request #3448 from Armada651/depth-epsilon
VertexShaderManager: Add an epsilon hack to the perspective projection.
2016-01-18 20:56:18 +01:00
Pierre Bourdon 24c228c6e9 Merge pull request #3523 from lioncash/video
VideoCommon: Header cleanup
2016-01-18 02:24:50 +01: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
Stenzek edebadc093 PixelShaderGen: Use bitwise AND for wrapping indirect texture coordinates
(x % y) is not defined in GLSL when sign(x) != sign(y).
This also has the added benefit of behaving the same as sampler wrapping modes, in regards to negative inputs.
2016-01-15 19:46:38 +10:00
Jules Blok d54291f2e8 Merge pull request #3506 from stenzek/odd-mips
TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
2016-01-13 23:10:18 +01:00
Jules Blok a307883069 Merge pull request #3505 from Armada651/invert-conversion
TextureConversionShader: Also invert color encoders if they're used to encode depth.
2016-01-13 12:58:44 +01:00
Stenzek 1f3b90d70a TextureCacheBase: Change CalculateLevelSize to match D3D/OGL sizes
This was causing crashes/driver resets when odd-dimension textures were
being loaded, due to the size we were uploading being larger than the size
of the higher-level texture calculated by the runtime.
2016-01-13 12:54:38 +10:00
Jules Blok daabd88d69 TextureConversionShader: Also invert color encoders if they're used to encode depth. 2016-01-13 01:08:27 +01:00
degasus aa430c10d5 VideoState: Simplify dummy wrapper. 2016-01-12 23:28:26 +01:00
degasus 5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus c3481a576b VideoBackend: Remove simple wrapper functions. 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
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
Scott Mansell 74b772c3be Avoid the "Memory stride too small" assert
EFB2Tex still has no idea what to do with these weird textures so we
simply disable EFB2Tex when one is encountered.
2016-01-09 18:30:29 +13:00
Pierre Bourdon 39971ec039 Merge pull request #3472 from phire/TVs_dont_have_pixels
Rework the aspect ratio calculation (Fixes 240p mode)
2016-01-09 04:27:16 +01: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 66595b0ac9 Force XVID FourCC for MPEG4 output 2016-01-08 10:22:19 -05:00
Scott Mansell 9c0dae47ca Normalize aspect ratio calculations to 4:3
Video Interface simply isn't aware about widescreen.
Instead, the render class can multiply by 1.3333333 to get
the 16:9 aspect ratio.
2016-01-08 13:31:48 +13:00
Chris Burgener c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
Pierre Bourdon 22555312de Merge pull request #3464 from Armada651/stereo-warnings
VideoConfig: Don't give warnings for per-game stereoscopy parameters.
2016-01-07 00:35:14 +01:00
Jules Blok 1e111421e9 VideoConfig: Don't give warnings for per-game stereoscopy parameters. 2016-01-06 22:21:12 +01:00
degasus efbe5bc4b6 VideoSW: Use more VideoCommon
Now we require lots of empty functions, but this removes by far more duplicated code.
2016-01-06 22:10:29 +01:00
JosJuice 03091ce180 HiresTextures: Refactor getting directory 2016-01-06 19:35:16 +01:00
JosJuice 42237dc511 Merge pull request #3456 from JosJuice/custom-texture-all-regions
HiresTextures: Also look for directories with 3-character IDs
2016-01-06 14:43:49 +01:00
JosJuice a2b45a4b82 HiresTextures: Also look for directories with 3-character IDs
People who make texture packs usually release them using a specific ID
(for instance SX4E01). Users who have a different version of the game
(like the PAL version SX4P01) then need to rename the custom texture
folder to match. This is a lot simpler than renaming every texture file,
as was required with the old texture format, but it's still something
that users can forget to do. To make that unnecessary, this change makes
it possible to use three-character region-free IDs for custom texture
folders, similarly to how game INIs can use three-character IDs. Once
most people have updated to Dolphin versions that include this change,
those who make texture packs will be able to name them with
three-character IDs, removing the need for users to rename anything.
2016-01-06 14:33:36 +01:00
degasus 3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Markus Wick 0da8bd0f61 Merge pull request #3444 from RisingFog/avidumpfixes
AVIDump Clean Up and Fixes
2016-01-05 10:38:07 +01:00
Jules Blok 358e458a93 VertexShaderManager: Add an epsilon hack to the perspective projection. 2016-01-05 01:24:54 +01: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
Chris Burgener fe4e99d6bf AVIDump Clean Up and Fixes 2016-01-03 18:39:52 -05: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
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
Ryan Houdek 721d319c7b Add a comment to DriverDetails about Qualcomm failing our alpha tests. 2015-12-31 10:14:14 -06: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
Markus Wick 8cf078a1a0 Merge pull request #3407 from phire/fix_assert
TextureCache, fix an incorrect assert.
2015-12-29 20:58:24 +01:00
Lioncash e082ebad1a HiresTextures: Remove the need to explicitly free SOIL allocated data 2015-12-29 08:40:17 -05:00
Lioncash 1d01fbd217 HiresTextures: Make Load return a unique_ptr 2015-12-29 08:40:15 -05:00
Lioncash 6a9e4511b5 HiresTextures: Remove unnecessary header includes 2015-12-29 08:40:07 -05: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
Markus Wick 281860eafa Merge pull request #3400 from lioncash/shadergen
ShaderGen: Get rid of static buffers
2015-12-28 10:09:11 +01:00
Lioncash c5f123a70b ShaderGenCommon: Remove unnecessary static keywords
Functions defined in a header should be inline only, otherwise program
code is generated for every other file that calls said functions
2015-12-26 18:02:54 -05:00
Lioncash c151fe582f ShaderGenerators: Remove unnecessary inline keywords
Static by itself is sufficient
2015-12-26 17:57:32 -05:00
Lioncash 8ce3a4aa70 ShaderGeneration: Get rid of static buffers 2015-12-26 17:01:54 -05:00
Scott Mansell bed102ae89 Revert "ShaderGen: Toggle value of uninitialized color." 2015-12-27 02:28:29 +13:00
Lioncash a8ab156a29 Fifo: Convert define into constant
Also moves it to the cpp file where it's used.
2015-12-25 16:07:04 -05:00
Scott Mansell 0216879d3e Revert "Config Hotfix: Prevent per-game settings (ie. GameINI) being stored to the global user configuration." 2015-12-24 18:25:22 +13:00
Lioncash 8371c428cd VertexLoaderBase: Get rid of explicit delete and new 2015-12-22 20:09:54 -05:00
Mathew Maidment 3cf16f8573 Merge pull request #3382 from lioncash/render
Render: Get rid of explicit new and delete
2015-12-22 19:26:26 -05: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
Jules Blok 7b4c4bfc5e VideoConfig: Fix stereoscopy preset settings.
PR #3076 looks to be pretty poor quality and should be reverted.
2015-12-22 23:24:05 +01:00
Jules Blok fa207ef8a0 VideoConfig: Move all stereoscopy options to the stereoscopy section. 2015-12-22 23:16:27 +01:00
Jules Blok c49bb57e09 VideoConfig: Move all GameINI stereoscopy options to the stereoscopy section. 2015-12-22 23:16:27 +01:00
Scott Mansell 1ce9c33f6c Merge pull request #3373 from JosJuice/temp-settings-ini-hotfix
Config Hotfix: Prevent per-game settings (ie. GameINI) being stored to the global user configuration.
2015-12-22 12:37:22 +13:00
Admiral H. Curtiss 3149140052 Config: Hotfix to prevent per-game settings from ie. GameINIs being stored to the global user configuration. 2015-12-22 00:16:29 +01:00
Lioncash f448c6e291 FramebufferManagerBase: Get rid of explicit delete and new 2015-12-21 15:57:48 -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
Pierre Bourdon de21da5fb2 Merge pull request #3315 from degasus/test
ShaderGen: Toggle value of uninitialized color.
2015-12-18 14:21:37 +01:00
Scott Mansell ebe3c49c5f Merge pull request #3332 from degasus/master
MSAA: Store samples in ini files.
2015-12-19 01:37:10 +13:00
Markus Wick e15b6e1a37 Merge pull request #3162 from lioncash/rast
Software: Minor changes to Rasterizer
2015-12-15 18:22:42 +01:00
Markus Wick e4b83d17bf Merge pull request #3270 from JosJuice/more-translations
Mark more strings for translation
2015-12-15 18:13:26 +01:00
degasus e26d9f7c35 MSAA: Store samples in ini files. 2015-12-15 09:41:01 +01:00
Jules Blok ee657c04fe VideoConfig: Change convergence setting to percentage value. 2015-12-13 22:58:16 +01:00
degasus 7b34319e53 ShaderGen: Toggle value of uninitialized color.
SMS seems to need 0, no regressions either.
2015-12-06 12:39:18 +01:00
Lioncash 7762d68c4b Rasterizer: Mark some references as const 2015-12-06 02:51:36 -05:00
Pringo b6f16b3049 Remove Google Code Reference and Fix Grammar 2015-12-03 18:20:59 -08:00
Markus Wick 52204c7296 Merge pull request #3299 from phire/JJ_Abrams
Fix lens flares in Mario Kart Wii.
2015-12-01 09:07:09 +01:00
Andrew Wickham d9f1523a7b Make cast from int to float explicit in shader
This should fix this panic message I saw when playing Super Mario Strikers:

Failed to compile pixel shader [...]: error C7011: implicit cast from "int" to "float"
2015-11-30 13:35:46 -08:00
Scott Mansell 03461915a7 Fix lens flares in Mario Kart Wii. 2015-12-01 05:25:38 +13:00
degasus 0b02dc4f81 FramebufferManager: check for g_framebuffer_manager 2015-11-24 22:48:56 +01:00
degasus 0f26cdd31b FramebufferManager: Allow CreateXFBSource to return nullptr 2015-11-24 22:48:55 +01:00
degasus c9dc5fb376 TextureCache: Allow the backends to return nullptr for textures. 2015-11-24 22:48:55 +01: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
JosJuice 74ea765427 Mark more strings for translation 2015-11-20 11:33:47 +01:00
degasus ee2223c4a0 TextureCache: Fix crash for invalid textures. 2015-11-17 23:29:54 +01: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
Scott Mansell 636bedb207 XFMem: Don't warn on writes of zero to unknown registers. 2015-11-08 14:59:55 +13:00
Tillmann Karras 2ad901b2da VideoCommon: drop unused variable/setter 2015-11-06 15:43:58 +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 ba7b7522be BPStructs: add debug info for texture setup. 2015-11-05 00:13:25 +13: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
Ryan Houdek c04358fbe2 Merge pull request #3222 from Tilka/vertexmanagerbase
VideoCommon: rename VertexManager to VertexManagerBase
2015-11-03 08:34:30 -05:00
Sintendo c4b56f06f9 Fix a few typos 2015-11-02 21:17:43 +01:00
Tillmann Karras a656c05be2 VertexManagerBase: fix indentation 2015-11-02 11:53:54 +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 b0d5b4483e VertexLoaderX64: optimize more color swizzles
Based on https://gist.github.com/rygorous/c5dba8c6c75bc83aa4ae, but with
a small tweak and a somewhat related change for the 565 case.
2015-10-25 14:51:07 +01:00
Scott Mansell bd20dd3962 Merge pull request #3188 from lioncash/texcache
TextureCacheBase: Change CacheLinesPerRow to BytesPerRow
2015-10-25 17:46:43 +13:00
Scott Mansell 4c5c33c514 VertexShader: Remove 'special case' that has been disabled forever. 2015-10-23 19:02:51 +13:00
Tillmann Karras 33784456a5 VertexLoaderTester: drop superfluous newlines 2015-10-22 16:31:02 +02:00
Tillmann Karras 2a58802c00 VertexLoaderManager: symbolize magic constant 2015-10-22 16:31:02 +02:00
Tillmann Karras d80124ab59 VertexLoaderX64: optimize 4444 color conversion
https://gist.github.com/rygorous/75133a50c60f9243366e
2015-10-22 16:30:56 +02:00
Lioncash c28e3affc5 TextureCacheBase: Change CacheLinesPerRow to BytesPerRow 2015-10-22 08:14:43 -04:00
mimimi085181 ff709247e2 Check the hashes of efb copies before applying them as partial texture updates 2015-10-18 16:36:38 +02: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
Scott Mansell ac8976689b Merge pull request #3177 from Tilka/fix_warnings
PixelShaderGen: silence -Wformat-security warnings
2015-10-17 17:44:29 +13:00
flacs 63b08618c2 Merge pull request #3174 from ShadowsFriend/generic_build_fix
VideoCommon: Add includes for generic build
2015-10-17 05:08:30 +02:00
Tillmann Karras 1df455bd13 PixelShaderGen: silence -Wformat-security warnings 2015-10-17 05:05:50 +02:00
Lioncash c756025902 Core: Move a global into a namespace 2015-10-16 22:52:41 -04:00
Ilia Mirkin 2fc2b82963 VideoCommon: teach gcc to type-check the arguments fed to Write()
Note that the "this" implicit argument counts as 1, which is why all the
printf arguments are shifted over one.
2015-10-16 18:20:37 -04:00
Ilia Mirkin 5380fd9dba VideoCommon: fix variable types fed to Write() function 2015-10-16 18:20:36 -04:00
Christian Widmer 252a3d16c2 VideoCommon: Add includes for generic build
On x86_64 and arm64 builds Common/MsgHandler.h and Common/Logging/Log.h are
indirectly included through the corresponding VertexLoaders, Emitters
and lastly Assert.h. Because the generic build does not build a vertex
loader JIT it does not include those and fails at compile time.
Thanks to HdkR and mibofra!
2015-10-16 20:18:27 +02:00
Markus Wick d12b026ecb Merge pull request #3165 from mimimi085181/partial-texture-updates-same-offset
Do not try to load strided efb copies or ones with wrong dimensions
2015-10-16 10:02:36 +02:00
Lioncash 419fed3952 VertexShaderManager: Get rid of other magic constants 2015-10-15 23:41:42 -04:00
Lioncash b5b304cff2 VertexShaderManager: Get rid of float pointer casts 2015-10-15 23:34:54 -04:00
mimimi085181 af28934703 Do not delete strided efb copies on load
This hopefully allows to use partial texture updates with strided efb copies that start at the same offset as the loaded texture
2015-10-15 00:45:55 +02:00
flacs b0bbe52cc9 Merge pull request #3164 from phire/samplerArrays
PixelShaderGen: Use arrays of texture samplers.
2015-10-12 18:44:14 +02:00
Tillmann Karras 9f8981c7c0 VertexLoaderUtils: remove simple wrapper functions 2015-10-11 23:40:50 +02:00
Scott Mansell 645e4cbbee PixelShaderGen: Use arrays of texture samplers. 2015-10-12 05:06:39 +13:00
Tillmann Karras 0f1b287402 Misc. style fixes 2015-10-10 17:44:42 +02:00
Rohit Nirmal 18f0831861 VideoCommon: Silence -Wsign-compare warnings. 2015-10-03 20:32:16 -05: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
flacs 696d6eae09 Merge pull request #3108 from lioncash/cstyle-array
ChunkFile: Provide additional helpers for C-style arrays
2015-10-01 01:55:54 +02:00
Lioncash c6678687b0 ChunkFile: Provide additional helpers for C-style arrays
Gets rid of magic numbers in cases where the array size is known at compile time.
This is also useful for future entries that are stack allocated arrays as these
functions prevent incorrect sizes being provided.
2015-09-30 19:45:46 -04:00
flacs 16957fcaec Merge pull request #3107 from lioncash/pragma
TextureDecoder_x64: Remove now-unnecessary clang #pragma warning suppression
2015-09-29 19:53:12 +02:00
Lioncash 50a7390622 TextureDecoder_x64: Remove unnecessary commented out header 2015-09-29 11:04:00 -04:00
Lioncash 80c7e3ebc0 TextureDecoder_x64: Remove clang warning suppression
This was an issue two years ago on clang 3.3
2015-09-29 11:00:59 -04:00
Lioncash 4a981e3a04 FPSCounter: Change Update's return type to void
Its returned value is never used.
2015-09-29 10:01:37 -04:00
Lioncash 55c7754738 FPSCounter: Give the refresh interval a concrete type 2015-09-29 10:01:37 -04:00
Lioncash e82b6a8532 FPSCounter: Direct initialize class members 2015-09-29 10:01:37 -04:00
Lioncash bf23fcfc1f FPSCounter: Don't provide direct access to m_fps 2015-09-29 09:43:03 -04:00
Rohit Nirmal 3b75f45cf6 Fix building with PCH disabled. 2015-09-28 11:51:08 -05: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
Scott Mansell af327aec79 Merge pull request #3036 from mimimi085181/hash-respecting-stride
Respect the stride for efb copies when hashing them
2015-09-28 05:23:55 +13:00
flacs 8ea9b07b59 Merge pull request #3093 from lioncash/header_shuffle
Common: Trim Common.h
2015-09-27 03:18:03 +02:00
Lioncash cc036ca86c Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
Lioncash 1d42db2439 Common: Move NonCopyable to its own header 2015-09-26 18:50:35 -04:00
mimimi085181 e24b8c4ab7 Respect the stride for efb copies when hashing them 2015-09-26 20:19:02 +02: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
Lioncash 7e69a0ce79 CommandProcessor: Remove unused extern 2015-09-24 11:35:46 -04:00
ghost 7c1565b201 VideoConfig/LocalConfig/HotkeyManager: Added hotkeys for switching stereo-3d presets.
Added 3 depth/convergence presets. They are adjustable via (existing) hotkeys - changes to depth and convergence are applied to current preset.
Added 3 hotkeys for activating presets. Added hotkey for toggle between first and second preset.
Added OSD message for convergence/depth changes.
Presets are saved into per-game configs.
2015-09-24 15:19:55 +03:00
Lioncash d694994874 BoundingBox: Remove unnecessary headers 2015-09-24 03:19:43 -04:00
Rohit Nirmal a48e425f41 Silence -Wshadow warning. 2015-09-23 11:02:24 -05:00
Lioncash 213d11dc62 Merge pull request #2939 from lioncash/find
FramebufferManagerBase: Compress a loop into a find_if
2015-09-22 18:56:38 -04:00
Scott Mansell a355d9868e FifoRecorder: Use Video Common to record efb2ram correctly.
Texture updates have been moved into TextureCache, while
TMEM updates where moved into bpmem. Code for handling
efb2ram updates was added to TextureCache.

There was a bug for preloaded RGBA8 textures, it only copied
half the texture. The TODO was wrong too.
2015-09-22 23:59:16 +12: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 b6cd78a370 VideoBackendBase: Remove check for XP. 2015-09-19 07:10:44 +12:00
Lioncash 28d1001ff8 VertexLoaderUtils: Get rid of pointer casts
Eliminates most ubsan asserts that stem from VideoCommon when running starfield.
2015-09-17 14:24:11 -04:00
Markus Wick 295b869304 Merge pull request #3028 from mimimi085181/sonic-fighters-regression-fix2
Fix performance regression in Sonic the Fighters, introduced by PR#2001
2015-09-16 21:53:03 +02:00
Lioncash b7739f5d85 VideoCommon: Remove unnecessary enum typedef 2015-09-14 19:43:31 -04:00
mimimi085181 dd458b554d Fix performance regression in Sonic the Fighters, introduced by PR#2001 2015-09-12 09:12:14 +02:00
Lioncash baa9eacd51 LookUpTables: Make functions constexpr 2015-09-12 03:04:40 -04:00
Ryan Houdek 6d9b4d7d35 Merge pull request #3025 from Tilka/fixfix
VertexLoaderX64: fix 2GB warnings
2015-09-12 01:38:14 -04:00
Scott Mansell 68b415ba87 Merge pull request #3019 from mimimi085181/store-base-hash
Store the base hash for paletted textures in the texture cache entries
2015-09-12 16:24:29 +12:00
Tillmann Karras 63c9fdd074 VertexLoaderX64: fix 2GB warnings
Unlike the CPU JIT, the vertex loader JIT already emits
position-independent code, so all we need to do is disable the warning.
2015-09-12 01:24:47 +02:00
flacs c5685ba53a Merge pull request #2972 from lioncash/align
General: Replace GC_ALIGN macros with alignas
2015-09-11 17:00:13 +00:00
Lioncash 19459e827f Partially revert "General: Toss out PRI macro usage" 2015-09-11 09:49:00 -04:00
mimimi085181 e408e0ab17 Store the base hash for paletted textures in the texture cache entries 2015-09-10 22:28:59 +02:00
Ryan Houdek 3014feedc8 Merge pull request #3012 from degasus/destAlpha
VideoCommon: Drop "Disable destAlpha" hack
2015-09-10 13:56:43 -04:00
mimimi085181 38f6cf2089 Perform garbage collection for efb copies
This checks every TEXTURE_KILL_THRESHOLD frames, to see if the hash for the memory area of the efb copy has hanged. If it has changed, the efb copy can be removed, it wouldn't be used anymore. Before this pr, some efb copies would never be deleted.

Fixes issue https://bugs.dolphin-emu.org/issues/6101 and possibly some other VRAM leaks.
2015-09-10 11:58:58 +02:00
degasus 74b20e627c VideoCommon: Drop "Disable destAlpha" hack
This option has no use any more, neither performance nor driver workaround.
2015-09-09 21:31:54 +02:00
Scott Mansell 1f800b80dd Merge pull request #2960 from phire/improve_efb2tex
Make efb2tex behave much more like efb2ram.
2015-09-07 14:12:03 +12:00
degasus 1c0366993a VideoBackends: Reimplement SSAA, now for D3D + OGL 2015-09-06 19:40:00 +02:00
Scott Mansell ac467d9fb9 FifoPlayer: Don't check efb copy hashes when plaing back a broken dff 2015-09-07 05:20:25 +12:00
Lioncash 8ce04f9a65 General: Replace GC_ALIGN macros with alignas
Standard supported alignment -> out with compiler-specific.
2015-09-06 12:53:51 -04:00
Scott Mansell bda964e0b9 Workaround to allow partial texture updates to keep working in NSMBWii 2015-09-07 02:32:01 +12:00
Scott Mansell ee649c6d9f Make efb2tex behave more like efb2ram.
Instead of having special case code for efb2tex that ignores hashes,
the only diffence between efb2tex and efb2ram now is that efb2tex
writes zeros to the memory instead of actual texture data.

Though keep in mind, all efb2tex copies will have hashes of zero as
their hash.
2015-09-07 02:32:01 +12:00
Scott Mansell c08a83a5aa Merge pull request #2957 from phire/unify_efbcopy
Cleanup and unify efb copy implemtations into VideoCommon
2015-09-07 00:10:42 +12:00
Scott Mansell d797b5d0b5 Use ROUND_UP instead of custom bittwiddling. 2015-09-06 23:00:17 +12:00
Scott Mansell e745748c3e Improve comments for texture formats enum. 2015-09-06 21:16:51 +12:00
Scott Mansell b9be3245e1 Move common EFB copy code into VideoCommon
Addded a few duplicated depth copy texture formats to the enum
in TextureDecoder.h. These texture formats were already implemented
in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-09-06 21:16:51 +12:00
Scott Mansell be4caa3dc0 Merge pull request #2961 from lioncash/printf
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
comex 96e42dff52 Merge pull request #2977 from lioncash/unused
General: Remove unimplemented function prototypes
2015-09-05 22:20:47 -04:00
Lioncash 633be0387d General: Remove unimplemented function prototypes 2015-09-05 22:01:07 -04:00
Lioncash 8fdb013d54 General: Toss out PRI macro usage
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
Markus Wick 60e0339ae5 Merge pull request #2963 from Sonicadvance1/AArch64_improved_vertexloader
[AArch64] Minor improves to the vertex loader JIT
2015-09-05 15:44:52 +02:00
Scott Mansell 52948bb3ef Cleanup and unify handling of efb copy stride. 2015-09-05 23:37:24 +12:00
Ryan Houdek 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
Ryan Houdek 9618738278 Remove all of our workarounds for Qualcomm devices we don't support anymore. 2015-09-04 23:45:35 -05:00
Ryan Houdek c458c9d049 [AArch64] Minor improves to the vertex loader JIT
Just some minor improvements noticed by dumping the vertex loader blocks.
2015-09-04 19:57:08 -05:00
Lioncash e90eb17aeb Merge pull request #2956 from JosJuice/extra-space
Remove extra space from 5a32c3f
2015-09-04 14:22:59 -04:00
JosJuice 0af2bbcea3 Remove extra space from 5a32c3f 2015-09-04 15:32:30 +02:00
Lioncash a11ae2cf30 CommonFuncs: Remove SLEEP macro
There's already a function in Thread for this.
2015-09-04 02:43:38 -04:00
Shawn Hoffman aa7208e270 [windows] Update projects to vs2015. 2015-09-03 04:23:01 -07:00
booto 5a32c3fba4 VideoCommon: xfb height calculation adjusted
Baten Kaitos allocates its XFBs from a tagged heap
structure. With the old calculation, too many lines
were being written so the tag of the allocation
after the XFB was being corrupted. Fixes crash
mentioned in this comment:
https://code.google.com/p/dolphin-emu/issues/detail?id=7734#c6
2015-09-03 03:57:03 +08:00
Scott Mansell ecbb83fa0f Merge pull request #2686 from booto/field-timing
VI: derive field timing from VI registers
2015-09-03 01:09:43 +12:00
Markus Wick 66e9395d5d Merge pull request #2937 from lioncash/enums
VideoCommon: Convert some defines into enums
2015-09-02 13:27:09 +02:00
Lioncash 401f765462 FramebufferManagerBase: Compress a loop into a find_if 2015-09-01 16:54:44 -04:00
Rohit Nirmal 9c26bb0e17 Fix building with PCH disabled. 2015-09-01 13:45:23 -05:00
Lioncash 71ef0a0245 PixelShaderGen: Use spaces instead of tabs for vertical alignment 2015-09-01 12:20:50 -04:00
Lioncash 91eff28699 PixelShaderGen: Move defines into the implementation file
These aren't used outside of it. This also reduces the amount of things in
the global namespace.
2015-09-01 12:18:18 -04:00
Lioncash c760ffbd28 BPMemory/XFMemory: Convert defines to enums
These actually convey a concrete type, as well as also providing a
symbolic constant during debugging.
2015-09-01 12:07:10 -04:00
booto acc9a74174 VI: Restore forced-progressive hack with option
Bugfix: TargetRefreshRate uses rounded result
NTSC's 59.94 was becoming 59 with integer division.
2015-09-01 20:24:40 +08:00
booto 480dbb22f2 VI: derive field timing from VI registers 2015-09-01 20:24:40 +08:00
Lioncash f7e22c8126 VertexLoader_Color: Mark translation-unit-local functions static 2015-08-31 17:31:23 -04:00
Lioncash ec42be79f3 VertexLoader_Color: Get rid of some pointer casts 2015-08-31 17:31:11 -04:00
Markus Wick a16669231a Merge pull request #2917 from Sonicadvance1/android_fix_sgs6
[Android] Workaround Mali driver issue on the Samsung Galaxy S6.
2015-08-29 08:56:32 +02:00
Rohit Nirmal 6252d2d71a Fix building with PCH disabled. 2015-08-28 14:13:28 -05:00
Markus Wick b11de5bddb Merge pull request #2918 from lioncash/memcpy
DataReader: Get rid of pointer casts
2015-08-28 20:45:15 +02:00
Ryan Houdek 01db003779 [Android] Workaround Mali driver issue on the Samsung Galaxy S6.
Samsung updated the video drivers on the SGS6 which introduced a bug when disabling vsync.
Both the driver versions are r5p0, but the md5sums of the blob differ.
To work around the issue, make sure to never disable vsync by calling eglSwapInterval.

We can't actually determine the driver version on Android yet.
So until the driver version lands that displays the driver version string in the GL_VERSION string
we will need to keep this workaround enabled at all times, which is a bit annoying.

Current mali drivers return the video driver version in one of the EGL strings you can query.
The issue with that is that Android eats all of those strings, so we can't query it.
2015-08-28 09:02:46 -05:00
flacs d373dd372d Merge pull request #2913 from Tilka/fix_warning_fix
AVIDump: fix -Wsign-compare warning
2015-08-27 23:50:34 +02:00
Lioncash 4fb3a8b78d DataReader: Get rid of pointer casts 2015-08-27 13:43:04 -04:00
Tillmann Karras ee4a12ffe2 Jit64: some byte-swapping changes 2015-08-26 05:41:18 +02:00
Ryan Houdek cd03b8baf6 Merge pull request #2895 from Sonicadvance1/qualcomm_workaround_gles31
Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
2015-08-24 13:22:12 -05:00
Ryan Houdek cc3fb7e7b4 Merge pull request #2883 from degasus/master
Profiler: Sort output by total time
2015-08-22 17:52:54 -05:00
Ryan Houdek b4e4a4cef4 Disable OpenGL ES 3.1 on all Qualcomm Adreno devices.
Their new driver that supports GLES3.1 + AEP has issues with it.
At the very least they don't implement all of the geometry shader features fully which causes shader linker issues when we attempt to use them.
I don't have a device so I can't fully test, so until I do I'm going to blanket disable the whole thing.
2015-08-22 09:12:19 -05:00
Ryan Houdek 3242e1a617 Fix the shader overrunning our max shader size.
The Star Wars games really push the hardware to its limits, which can cause the shaders that are produced to be 18kb or more.
Double our maximum shader size to compensate.
Fixes issue #8860
2015-08-22 01:01:03 -05:00
Tillmann Karras 39ced2a2d7 AVIDump: fix -Wsign-compare warning
Cast the other side of the comparison to avoid a warning with newer
ffmpeg/libav versions (cb3591e69738c808d26ba15eb02414fedfcd91cc).
2015-08-21 10:26:35 +02:00
degasus 17932935d9 Profiler: Sort output by total time 2015-08-20 11:50:43 +02:00
Markus Wick cb264df64c Merge pull request #2874 from barat/master
VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB
2015-08-20 11:08:42 +02:00
Bartosz Telesiński a52aaf22ba VideoCommon: Allow more Ram for HiresTexture if system memory is over 4GB 2015-08-19 23:13:09 +02:00
Dominic Chen 09714f86c3 Fix some compilation warnings 2015-08-19 11:07:54 -04:00
Markus Wick ff95fa8a6d Merge pull request #2861 from lioncash/param
VideoCommon: Remove unused parameters
2015-08-17 15:02:44 +02:00
Lioncash 8e17c710f3 TextureConversionShader: Remove an unused parameter 2015-08-16 21:10:54 -04:00
Lioncash 0e41b973c7 VertexShaderManager: Remove unused parameter 2015-08-16 21:07:10 -04:00
Jules Blok b01ca1794a Revert "VideoCommon: Clamp integer conversions."
This reverts commit 0f2c72f0f8.
2015-08-15 13:50:43 +02:00
degasus d3cf4034de DriverDetails: Disable GL_ARB_copy_image on mesa. 2015-08-06 19:41:36 +02:00
degasus e2f42f8fd0 OGL: Move copy_image variable into backend. 2015-08-06 19:41:36 +02:00
Scott Mansell a1df1f5ae4 Widescreen Heuristic: Cleanup code. 2015-08-01 14:39:34 +12:00
Scott Mansell 615e5db0cb Make the GameCube game widescreen heuristic smarter.
The last heuristic wasn't quite smart enough and had a few
false positives in Mario Kart: Double Dash and Metroid prime 2.

Now we only activate if the game is rendering a 16:9
projection to a 4:3 viewport.
2015-08-01 13:21:53 +12:00
unknown 739ede2242 Fix code to comply with coding style 2015-07-31 20:00:36 -04:00
mirrorbender 0faba3b018 Changed the aspect ratio settings to account for NTSC/PAL pixel aspect ratios and VI scaling. 2015-07-31 19:58:02 -04:00
Scott Mansell 567d0b20fa Merge pull request #2769 from phire/autodetect_widescreen
Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
2015-07-29 18:23:35 +12:00
booto 86dce8b0f7 VideoCommon: reduce level of debug output 2015-07-27 10:22:40 +08:00
Scott Mansell bb60bcc42d Heuristic to detect if a gamecube game is rendering 16:9 widescreen.
Someone suggested on IRC that we should make a database of memory
locations in GameCube games which contain the 'Widescreen' setting
so we can automatically detect if the game is in 4:3 or 16:9 mode.

But that's hardly optimal, when the game actually tells the gpu
what aspect ratio to render in. 10 min and 6 lines of code later,
this is the result. Not only does it detect the correct aspect ratio
it does so on the fly.

I'm a little suprised nobody thought about doing this before.
2015-07-27 10:40:41 +12:00
booto 9d055ba5f2 Video: Trying to fix D3D/XFB disabled regression 2015-07-26 00:59:00 +08:00
booto efd250494d Video: stride in bytes rather than pixels 2015-07-25 02:48:56 +08:00