Lioncash
634b78a4c6
gl_shader_disk_cache: Default ShaderDiskCacheOpenGL's destructor in the cpp file
...
Given the disk shader cache contains non-trivial types, we should
default it in the cpp file in order to prevent inlining of the
complex destruction logic.
2019-05-19 02:50:50 -04:00
Lioncash
7fdc644c44
gl_shader_disk_cache: Make hash specializations noexcept
...
The standard library expects hash specializations that don't throw
exceptions. Make this explicit in the type to allow selection of better
code paths if possible in implementations.
2019-05-19 02:46:45 -04:00
Lioncash
683c4e523f
gl_shader_disk_cache: Remove redundant code string construction in LoadDecompiledEntry()
...
We don't need to load the code into a vector and then construct a string
over the data. We can just create a string with the necessary size ahead
of time, and read the data directly into it, getting rid of an
unnecessary heap allocation.
2019-05-19 02:46:44 -04:00
Lioncash
5e4c227608
gl_shader_disk_cache: Make variable non-const in decompiled entry case
...
std::move does nothing when applied to a const variable. Resources can't
be moved if the object is immutable. With this change, we don't end up
making several unnecessary heap allocations and copies.
2019-05-19 02:46:44 -04:00
Lioncash
f417be9d3b
gl_shader_disk_cache: Special-case boolean handling
...
Booleans don't have a guaranteed size, but we still want to have them
integrate into the disk cache system without needing to actually use a
different type. We can do this by supplying non-template overloads for
the bool type.
Non-template overloads always have precedence during function
resolution, so this is safe to provide.
This gets rid of the need to smatter ternary conditionals, as well as
the need to use u8 types to store the value in.
2019-05-19 02:46:38 -04:00
Mat M
c4d549919f
Merge pull request #2462 from lioncash/video-mm
...
video_core/memory_manager: Minor tidying
2019-05-14 06:40:33 -04:00
Mat M
dadcf317dc
Merge pull request #2461 from lioncash/unused-var
...
video_core: Remove a few unused variables and functions
2019-05-14 06:36:26 -04:00
Rodrigo Locatti
940a71089d
Merge pull request #2413 from FernandoS27/opt-gpu
...
Rasterizer Cache: refactor flushing & optimize memory usage of surfaces
2019-05-13 23:01:59 -03:00
Lioncash
716fbaef74
video_core/memory_manager: Mark IsBlockContinuous() as a const member function
...
Corrects the typo in its name and marks the function as a const member
function, given it doesn't actually modify memory manager state.
2019-05-09 19:14:36 -04:00
Lioncash
d4bcd006b2
video_core/memory_manager: Mark the constructor as explicit
...
Prevents implicit converting constructions of the memory manager.
2019-05-09 19:10:26 -04:00
Lioncash
fd12788967
video_core/memory_manager: Default the destructor within the cpp file
...
Makes the class less surprising when it comes to forward declaring the
type, and also prevents inlining the destruction code of the class,
given it contains non-trivial types.
2019-05-09 19:10:13 -04:00
Lioncash
53afe47cec
video_core/memory_manager: Amend doxygen comments
...
Corrects references to non-existent parameters and corrects typos.
2019-05-09 19:09:19 -04:00
Lioncash
5235b053b4
video_core/memory_manager: Remove superfluous const from function declarations
...
These are able to be omitted from the declaration of functions, since
they don't do anything at the type system level. The definitions of the
functions can retain the use of const though, since they make the
variables immutable in the implementation of the function where they're
used.
2019-05-09 18:59:49 -04:00
Lioncash
b6408e9671
video_core/renderer_opengl/gl_shader_cache: Correct member initialization order
...
Silences a -Wreorder warning.
2019-05-09 18:55:47 -04:00
Lioncash
e43ba3acd4
video_core/shader/decode/texture: Remove unused variable from GetTld4Code()
2019-05-09 18:49:56 -04:00
Lioncash
e3c45b4338
renderer_vulkan/vk_shader_decompiler: Remove unused variable from DeclareInternalFlags()
2019-05-09 18:47:48 -04:00
Lioncash
175fe8aaeb
video_core/renderer_opengl/gl_shader_decompiler: Remove unused Composite() function
...
This isn't used at all, so it can be removed.
2019-05-09 18:45:26 -04:00
Lioncash
6d28d288a3
video_core/renderer_opengl/gl_rasterizer_cache: Remove unused variable in UploadGLMipmapTexture()
...
This variable is unused entirely, so it can be removed.
2019-05-09 18:42:48 -04:00
Lioncash
ba165b1092
video_core/gpu_thread: Remove unused local variable
...
Instead of retrieving the data from the std::variant instance, we can
just check if the variant contains that type of data.
This is essentially the same behavior, only it returns a bool indicating
whether or not the type in the variant is currently active, instead of
actually retrieving the data.
2019-05-09 18:39:21 -04:00
Lioncash
c56d893e77
video_core/textures/astc: Remove unused variables
...
Silences a few compilation warnings.
2019-05-09 18:33:36 -04:00
bunnei
daca045fcd
Merge pull request #2442 from FernandoS27/astc-fix
...
Fix Layered ASTC Textures
2019-05-09 13:23:14 -04:00
bunnei
f69d3a6351
Merge pull request #2443 from ReinUsesLisp/skip-repeated-variants
...
gl_shader_disk_cache: Skip stored shader variants instead of asserting
2019-05-09 13:22:42 -04:00
bunnei
c27b81cb85
Merge pull request #2429 from FernandoS27/compute
...
Corrections and Implementation on GPU Engines
2019-05-09 13:19:22 -04:00
Lioncash
9e15193ef8
shader/decode/texture: Remove unused variable
...
This isn't used anywhere, so we can get rid of it.
2019-05-04 02:10:38 -04:00
Lioncash
08b270676b
gl_rasterizer: Silence unused variable warning
...
Makes use of src, so it's not considered unused.
2019-05-04 02:00:17 -04:00
Fernando Sahmkow
e64c41efe8
Refactors and name corrections.
2019-05-01 15:31:39 -04:00
ReinUsesLisp
4aa081b4e7
gl_shader_disk_cache: Skip stored shader variants instead of asserting
...
Instead of asserting on already stored shader variants, silently skip them.
This shouldn't be happening but when a shader is invalidated and it is
not stored in the shader cache, this assert would hit and save that
shader anyways when the asserts are disabled.
2019-05-01 00:36:11 -03:00
Fernando Sahmkow
95261639fb
Fix Layered ASTC Textures
...
By adding the missing layer offset in ASTC compression.
2019-04-30 23:02:31 -04:00
bunnei
79e54abe19
Merge pull request #2100 from FreddyFunk/disk-cache-precompiled-file
...
gl_shader_disk_cache: Improve precompiled shader cache generation speed and size
2019-04-30 19:24:01 -04:00
bunnei
91e239d66f
Merge pull request #2435 from ReinUsesLisp/misc-vc
...
shader_ir: Miscellaneous fixes
2019-04-28 22:29:43 -04:00
bunnei
c52233ec8b
Merge pull request #2322 from ReinUsesLisp/wswitch
...
video_core: Silent -Wswitch warnings
2019-04-28 22:24:58 -04:00
bunnei
9a3737120d
Merge pull request #2423 from FernandoS27/half-correct
...
Corrections on Half Float operations: HADD2 HMUL2 and HFMA2
2019-04-28 22:24:22 -04:00
ReinUsesLisp
2156e52014
shader_ir: Move Sampler index entry in operand< to sort declarations
2019-04-26 01:13:05 -03:00
ReinUsesLisp
b77b4b76bb
shader_ir: Add missing entry to Sampler operand< comparison
2019-04-26 01:11:24 -03:00
ReinUsesLisp
0b91087a1e
shader_ir/texture: Fix sampler const buffer key shift
2019-04-26 01:09:29 -03:00
FreddyFunk
1a3ff252a4
Re added new lines at the end of files
2019-04-23 23:19:28 +02:00
unknown
3091b40691
gl_shader_disk_cache: Compress precompiled shader cache file with Zstandard
2019-04-23 22:24:31 +02:00
unknown
9db2c734c9
gl_shader_disk_cache: Use VectorVfsFile for the virtual precompiled shader cache file
2019-04-23 22:24:23 +02:00
unknown
3fe542cf60
gl_shader_disk_cache: Remove per shader compression
2019-04-23 21:40:01 +02:00
Fernando Sahmkow
b3118ee316
Fixes and Corrections to DMA Engine
2019-04-23 15:28:18 -04:00
Hexagon12
8df9449bb8
Merge pull request #2422 from ReinUsesLisp/fixup-samplers
...
gl_state: Fix samplers memory corruption
2019-04-23 18:30:35 +03:00
Hexagon12
b2fbcaae30
Merge pull request #2425 from FernandoS27/y-direction
...
Fix flipping on some games by applying Y direction register
2019-04-23 18:29:29 +03:00
Fernando Sahmkow
f1e5314f1a
Add Swizzle Parameters to the DMA engine
2019-04-23 11:21:00 -04:00
Fernando Sahmkow
e140e2ebc6
Add Documentation Headers to all the GPU Engines
2019-04-23 08:44:52 -04:00
Fernando Sahmkow
021d28c9b8
Corrections and styling
2019-04-23 08:02:24 -04:00
bunnei
4fad91ca45
Merge pull request #2383 from ReinUsesLisp/aoffi-test
...
gl_shader_decompiler: Disable variable AOFFI on unsupported devices
2019-04-22 22:14:02 -04:00
Fernando Sahmkow
701ce1c9d0
Implement Maxwell3D Data Upload
2019-04-22 19:27:36 -04:00
Fernando Sahmkow
e4ff140b99
Introduce skeleton of the GPU Compute Engine.
2019-04-22 19:05:43 -04:00
Fernando Sahmkow
a91d3fc639
Revamp Kepler Memory to use a subegine to manage uploads
2019-04-22 18:50:56 -04:00
bunnei
b5889cbd6f
Merge pull request #2403 from FernandoS27/compressed-linear
...
Support compressed formats on linear textures.
2019-04-22 17:09:42 -04:00