bunnei
72f09c55a8
Merge pull request #2520 from ReinUsesLisp/vulkan-refresh
...
vk_device,vk_shader_decompiler: Miscellaneous changes
2019-06-05 18:10:00 -04:00
ReinUsesLisp
f4bbb7fe44
vk_device: Let formats array type be deduced
2019-05-26 03:09:06 -03:00
ReinUsesLisp
fab91ab3b9
vk_shader_decompiler: Misc fixes
...
Fix missing OpSelectionMerge instruction. This caused devices loses on
most hardware, Intel didn't care.
Fix [-1;1] -> [0;1] depth conversions.
Conditionally use VK_EXT_scalar_block_layout. This allows us to use
non-std140 layouts on UBOs.
Update external Vulkan headers.
2019-05-26 01:48:04 -03:00
ReinUsesLisp
664da04158
vk_device: Enable features when available and misc changes
...
Keeps track of native ASTC support, VK_EXT_scalar_block_layout
availability and SSBO range.
Check for independentBlend and vertexPipelineStorageAndAtomics as a
required feature. Always enable it.
Use vk::to_string format to log Vulkan enums.
Style changes.
2019-05-26 01:41:34 -03:00
ReinUsesLisp
8a83af0af0
shader: Implement S2R Tid{XYZ} and CtaId{XYZ}
2019-05-20 16:36:49 -03:00
bunnei
5127e54674
Merge pull request #2441 from ReinUsesLisp/al2p
...
shader: Implement AL2P and ALD.PHYS
2019-05-19 14:02:58 -04:00
Mat M
c2e5561c1a
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
0aab2876b5
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
7033f5486e
renderer_vulkan/vk_shader_decompiler: Remove unused variable from DeclareInternalFlags()
2019-05-09 18:47:48 -04:00
ReinUsesLisp
f6194ce3fe
shader: Remove unused AbufNode Ipa mode
2019-05-02 21:46:25 -03:00
bunnei
673cfd89c1
Merge pull request #2322 from ReinUsesLisp/wswitch
...
video_core: Silent -Wswitch warnings
2019-04-28 22:24:58 -04:00
Fernando Sahmkow
7c1907187f
Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing.
...
This PR should heavily reduce memory usage since temporal buffers are no
longer stored per Surface but instead managed by the Rasterizer Cache.
2019-04-21 11:42:07 -04:00
bunnei
6c1418fc8a
Merge pull request #2409 from ReinUsesLisp/half-floats
...
shader_ir/decode: Miscellaneous fixes to half-float decompilation
2019-04-19 21:31:52 -04:00
Fernando Sahmkow
5f431ebec9
RasterizerCache Redesign: Flush
...
flushing is now responsability of children caches instead of the cache
object. This change will allow the specific cache to pass extra
parameters on flushing and will allow more flexibility.
2019-04-19 20:44:56 -04:00
ReinUsesLisp
7a56d07632
video_core: Silent -Wswitch warnings
2019-04-18 15:54:39 -03:00
bunnei
d1aafb0834
Merge pull request #2318 from ReinUsesLisp/sampler-cache
...
gl_sampler_cache: Port sampler cache to OpenGL
2019-04-17 21:45:56 -04:00
ReinUsesLisp
45044529b4
vk_shader_decompiler: Add missing operations
2019-04-15 21:32:57 -03:00
ReinUsesLisp
6ea1afc2bc
shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmetic
...
Operations done before the main half float operation (like HAdd) were
managing a packed value instead of the unpacked one. Adding an unpacked
operation allows us to drop the per-operand MetaHalfArithmetic entry,
simplifying the code overall.
2019-04-15 21:16:10 -03:00
ReinUsesLisp
6d47914b88
shader_ir/decode: Implement half float saturation
2019-04-15 21:16:10 -03:00
ReinUsesLisp
79e7fb6d6f
shader_ir: Implement STG, keep track of global memory usage and flush
2019-04-14 00:25:32 -03:00
ReinUsesLisp
d334042c75
vk_shader_decompiler: Implement flow primitives
2019-04-10 14:20:25 -03:00
ReinUsesLisp
e3c886a149
vk_shader_decompiler: Implement most common texture primitives
2019-04-10 14:20:25 -03:00
ReinUsesLisp
7b813afc88
vk_shader_decompiler: Implement texture decompilation helper functions
2019-04-10 14:20:25 -03:00
ReinUsesLisp
357a5fcded
vk_shader_decompiler: Implement Assign and LogicalAssign
2019-04-10 14:20:25 -03:00
ReinUsesLisp
b6b1cc9ffa
vk_shader_decompiler: Implement non-OperationCode visits
2019-04-10 14:20:25 -03:00
ReinUsesLisp
4d83f1ea9e
vk_shader_decompiler: Implement OperationCode decompilation interface
2019-04-10 14:20:25 -03:00
ReinUsesLisp
86647aee2e
vk_shader_decompiler: Implement Visit
2019-04-10 14:20:25 -03:00
ReinUsesLisp
4d331aeab6
vk_shader_decompiler: Implement labels tree and flow
2019-04-10 14:20:25 -03:00
ReinUsesLisp
946b97b6f4
vk_shader_decompiler: Implement declarations
2019-04-10 14:20:25 -03:00
ReinUsesLisp
0589785e80
vk_shader_decompiler: Declare and stub interface for a SPIR-V decompiler
2019-04-10 14:20:25 -03:00
Lioncash
33742deaf6
video_core/engines: Remove unnecessary inclusions where applicable
...
Replaces header inclusions with forward declarations where applicable
and also removes unused headers within the cpp file. This reduces a few
more dependencies on core/memory.h
2019-04-05 18:26:32 -04:00
bunnei
c151886913
Merge pull request #2302 from ReinUsesLisp/vk-swapchain
...
vk_swapchain: Implement a swapchain manager
2019-04-03 11:50:05 -04:00
ReinUsesLisp
e62b0ad6ae
video_core: Abstract vk_sampler_cache into a templated class
2019-04-02 15:54:11 -03:00
bunnei
5991727476
Merge pull request #2297 from lioncash/reorder
...
video_core: Amend constructor initializer list order where applicable
2019-03-30 20:00:26 -04:00
ReinUsesLisp
90d3207122
vk_swapchain: Implement a swapchain manager
2019-03-29 00:00:51 -03:00
Lioncash
e2256a1d54
video_core: Amend constructor initializer list order where applicable
...
Specifies the members in the same order that initialization would take
place in.
This also silences -Wreorder warnings.
2019-03-27 12:37:53 -04:00
Lioncash
5b0afa2188
video_core: Add missing override specifiers
...
Ensures that the signatures will always match with the base class.
Also silences a few compilation warnings.
2019-03-27 12:24:52 -04:00
bunnei
6f872bd580
gpu: Move GPUVAddr definition to common_types.
2019-03-20 22:36:02 -04:00
bunnei
7fccfc3ee7
gpu: Use host address for caching instead of guest address.
2019-03-14 22:34:42 -04:00
Mat M
0dfdec8949
vk_sampler_cache: Use operator== instead of memcmp
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-03-12 21:05:36 -03:00
ReinUsesLisp
a9c05dfcd7
vk_sampler_cache: Implement a sampler cache
2019-03-12 20:20:57 -03:00
bunnei
ae4fd2c619
Merge pull request #2191 from ReinUsesLisp/maxwell-to-vk
...
maxwell_to_vk: Initial implementation
2019-03-08 11:51:08 -05:00
Lioncash
f596ce7887
video_core/engines: Remove unnecessary includes
...
Removes a few unnecessary dependencies on core-related machinery, such
as the core.h and memory.h, which reduces the amount of rebuilding
necessary if those files change.
This also uncovered some indirect dependencies within other source
files. This also fixes those.
2019-03-05 20:35:32 -05:00
ReinUsesLisp
6bd70e39c5
maxwell_to_vk: Initial implementation
2019-03-04 04:06:05 -03:00
ReinUsesLisp
4da24b3629
vk_buffer_cache: Fix clang-format
2019-03-02 02:16:45 -03:00
ReinUsesLisp
d376a3fd11
vk_buffer_cache: Implement a buffer cache
...
This buffer cache is just like OpenGL's buffer cache with some minor
style changes. It uses VKStreamBuffer.
2019-03-01 17:33:36 -03:00
bunnei
ea1db23e7a
Merge pull request #2152 from ReinUsesLisp/vk-stream-buffer
...
vk_stream_buffer: Implement a stream buffer
2019-02-27 21:19:15 -05:00
Lioncash
3f0ed32450
vk_memory_manager: Reorder constructor initializer list in terms of member declaration order
...
Reorders members in the order that they would actually be initialized
in. Silences a -Wreorder warning.
2019-02-27 11:08:19 -05:00
ReinUsesLisp
ef4cf27e2a
vk_stream_buffer: Remove copy code path
2019-02-26 02:09:43 -03:00
ReinUsesLisp
6f1b4741e9
vk_stream_buffer: Implement a stream buffer
...
This manages two kinds of streaming buffers: one for unified memory
models and one for dedicated GPUs. The first one skips the copy from the
staging buffer to the real buffer, since it creates an unified buffer.
This implementation waits for all fences to finish their operation
before "invalidating". This is suboptimal since it should allocate
another buffer or start searching from the beginning. There is room for
improvement here.
This could also handle AMD's "pinned" memory (a heap with 256 MiB) that
seems to be designed for buffer streaming.
2019-02-24 04:27:51 -03:00