Fernando Sahmkow
021d28c9b8
Corrections and styling
7 years ago
Fernando Sahmkow
701ce1c9d0
Implement Maxwell3D Data Upload
7 years ago
Fernando Sahmkow
e4ff140b99
Introduce skeleton of the GPU Compute Engine.
7 years ago
Fernando Sahmkow
a91d3fc639
Revamp Kepler Memory to use a subegine to manage uploads
7 years ago
Fernando Sahmkow
4c36b78567
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.
7 years ago
Fernando Sahmkow
623b2e4b8f
Corrections Half Float operations on const buffers and implement saturation.
7 years ago
Fernando Sahmkow
08cdcc2871
Apply Position Y Direction
7 years ago
Fernando Sahmkow
a3eb91ed8c
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.
7 years ago
Fernando Sahmkow
db4b2bc798
make ReadBlockunsafe and WriteBlockunsafe, ignore invalid pages.
7 years ago
ReinUsesLisp
d74cb16535
gl_state: Fix samplers memory corruption
It was possible for "samplers" to be read without being written. This
addresses that.
7 years ago
ReinUsesLisp
fbe8d1ceaa
video_core: Silent -Wswitch warnings
7 years ago
Fernando Sahmkow
d0082de82a
Implement IsBlockContinous
This detects when a GPU Memory Block is not continous within host cpu
memory.
7 years ago
Fernando Sahmkow
da91e6e4b6
Apply Const correctness to SwizzleKepler and replace u32 for size_t on iterators.
7 years ago
Fernando Sahmkow
13d626fc21
Use ReadBlockUnsafe for fetyching DMA CommandLists
7 years ago
Fernando Sahmkow
06d1c5a991
Document unsafe versions and add BlockCopyUnsafe
7 years ago
Fernando Sahmkow
6fc562a9aa
Use ReadBlockUnsafe for Shader Cache
7 years ago
Fernando Sahmkow
ef381e6924
Use ReadBlockUnsafe on TIC and TSC reading
Use ReadBlockUnsafe on TIC and TSC reading as memory is never flushed
from host GPU there.
7 years ago
Fernando Sahmkow
367704aa82
GPU MemoryManager: Implement ReadBlockUnsafe and WriteBlockUnsafe
7 years ago
Fernando Sahmkow
3e96c367bd
Use WriteBlock and ReadBlock.
7 years ago
Fernando Sahmkow
bec28d692d
Implement Block Linear copies in Kepler Memory.
7 years ago
ReinUsesLisp
ef8245bed2
vk_shader_decompiler: Add missing operations
7 years ago
ReinUsesLisp
f43995ec53
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.
7 years ago
ReinUsesLisp
abcbcb1b2a
gl_shader_decompiler: Fix MrgH0 decompilation
GLSL decompilation for HMergeH0 was wrong. This addresses that issue.
7 years ago
ReinUsesLisp
64613db605
shader_ir/decode: Implement half float saturation
7 years ago
ReinUsesLisp
90cbf89303
shader_ir/decode: Reduce severity of unimplemented half-float FTZ
7 years ago
ReinUsesLisp
acf618afbc
renderer_opengl: Implement half float NaN comparisons
7 years ago
ReinUsesLisp
ae46ad48ed
shader_ir: Avoid using static on heap-allocated objects
Using static here might be faster at runtime, but it adds a heap
allocation called before main.
7 years ago
Fernando Sahmkow
aa471274d9
Do some corrections in conversion shader instructions.
Corrects encodings for I2F, F2F, I2I and F2I
Implements Immediate variants of all four conversion types.
Add assertions to unimplemented stuffs.
7 years ago
Fernando Sahmkow
8a099ac99f
Correct Kepler Memory on Linear Pushes.
7 years ago
Fernando Sahmkow
773d955dfa
Support compressed formats on linear textures.
7 years ago
Fernando Sahmkow
bf561e4340
Correct Pitch in Fermi2D
7 years ago
ReinUsesLisp
f15c59a164
gl_shader_decompiler: Use variable AOFFI on supported hardware
7 years ago
ReinUsesLisp
5c280e6ff0
shader_ir: Implement STG, keep track of global memory usage and flush
7 years ago
Lioncash
6d0551196d
video_core/gpu: Create threads separately from initialization
Like with CPU emulation, we generally don't want to fire off the threads
immediately after the relevant classes are initialized, we want to do
this after all necessary data is done loading first.
This splits the thread creation into its own interface member function
to allow controlling when these threads in particular get created.
7 years ago
Fernando Sahmkow
c9305959d3
gl_rasterizer_cache: Relax restrictions on FastCopySurface and FastLayeredCopySurface
7 years ago
ReinUsesLisp
93af663683
gl_shader_manager: Move code to source file and minor clean up
7 years ago
ReinUsesLisp
6df25e9c7b
gl_rasterizer: Apply just the needed state on Clear
7 years ago
ReinUsesLisp
0032821864
gl_device: Implement interface and add uniform offset alignment
7 years ago
ReinUsesLisp
75d23a3679
vk_shader_decompiler: Implement flow primitives
7 years ago
ReinUsesLisp
58ad8dfac6
vk_shader_decompiler: Implement most common texture primitives
7 years ago
ReinUsesLisp
4667ed8e22
vk_shader_decompiler: Implement texture decompilation helper functions
7 years ago
ReinUsesLisp
676172e20d
vk_shader_decompiler: Implement Assign and LogicalAssign
7 years ago
ReinUsesLisp
d316d248ab
vk_shader_decompiler: Implement non-OperationCode visits
7 years ago
ReinUsesLisp
b758c861b0
vk_shader_decompiler: Implement OperationCode decompilation interface
7 years ago
ReinUsesLisp
fec4eb9776
vk_shader_decompiler: Implement Visit
7 years ago
ReinUsesLisp
ca51f99840
vk_shader_decompiler: Implement labels tree and flow
7 years ago
ReinUsesLisp
13aa664f3f
vk_shader_decompiler: Implement declarations
7 years ago
ReinUsesLisp
ad53b233c5
vk_shader_decompiler: Declare and stub interface for a SPIR-V decompiler
7 years ago
ReinUsesLisp
970d9e57c8
video_core: Add sirit as optional dependency with Vulkan
sirit is a runtime assembler for SPIR-V
7 years ago
Fernando Sahmkow
c9f35d96be
Remove bounding in LD_C
7 years ago