Fernando Sahmkow
a32c52b1d8
shader_bytecode: Mark EXIT as flow instruction
7 years ago
ReinUsesLisp
75e7b45d69
shader/memory: Implement ST (generic memory)
7 years ago
ReinUsesLisp
f78ef617b6
shader/memory: Implement LD (generic memory)
7 years ago
Fernando Sahmkow
fc975e9021
maxwell_3d: reduce sevirity of different component formats assert.
This was reduced due to happening on most games and at such constant
rate that it affected performance heavily for the end user. In general,
we are well aware of the assert and an implementation is already
planned.
7 years ago
Lioncash
b01cce716e
video_core/engines/engine_upload: Amend constructor initializer list order
Silences a -Wreorder warning.
7 years ago
Lioncash
9b6d993e52
video_core/engines/engine_upload: Default destructor in the cpp file
Avoids inlining destruction logic where applicable, and also makes
forward declarations not cause unexpected compilation errors depending
on where the State class is used.
7 years ago
Lioncash
ec1c69258a
video_core/engines/engine_upload: Remove unnecessary const on parameters in function declarations
These only apply in the definition of the function. They can be omitted
from the declaration.
7 years ago
Lioncash
0f83c8dffa
video_core/engines/engine_upload: Remove unnecessary includes
7 years ago
Lioncash
5db1b54b58
video_core/engines/maxwell3d: Get rid of three magic values in CallMethod()
We can use the named constant instead of using 32 directly.
7 years ago
Lioncash
48ce5880a0
video_core/engines/maxwell_3d: Simplify for loops into ranged for loops within InitializeRegisterDefaults()
Lessens the amount of code that needs to be read, and gets rid of the
need to introduce an indexing variable. Instead, we just operate on the
objects directly.
7 years ago
Lioncash
c212fc9b2c
video_core/engines/maxwell_3d: Add is_trivially_copyable_v check for Regs
std::memset is used to clear the entire register structure, which
requires that the Regs struct be trivially copyable (otherwise undefined
behavior is invoked). This prevents the case where a non-trivial type is
potentially added to the struct.
7 years ago
ReinUsesLisp
d4df803b2b
shader_ir/other: Implement IPA.IDX
7 years ago
ReinUsesLisp
71aa9d0877
shader_ir/memory: Implement physical input attributes
7 years ago
ReinUsesLisp
bd81a03d9d
gl_shader_decompiler: Declare all possible varyings on physical attribute usage
7 years ago
ReinUsesLisp
7632a7d6d2
shader_bytecode: Add AL2P decoding
7 years ago
Fernando Sahmkow
e64c41efe8
Refactors and name corrections.
7 years ago
Fernando Sahmkow
b3118ee316
Fixes and Corrections to DMA Engine
7 years ago
Fernando Sahmkow
f1e5314f1a
Add Swizzle Parameters to the DMA engine
7 years ago
Fernando Sahmkow
e140e2ebc6
Add Documentation Headers to all the GPU Engines
7 years ago
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
ReinUsesLisp
fbe8d1ceaa
video_core: Silent -Wswitch warnings
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
3e96c367bd
Use WriteBlock and ReadBlock.
7 years ago
Fernando Sahmkow
bec28d692d
Implement Block Linear copies in Kepler Memory.
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
ReinUsesLisp
5c280e6ff0
shader_ir: Implement STG, keep track of global memory usage and flush
7 years ago
Fernando Sahmkow
5c55ae4e18
Correct LOP_IMN encoding
7 years ago
Fernando Sahmkow
16adc735a5
Correct XMAD mode, psl and high_b on different encodings.
7 years ago
Fernando Sahmkow
492040bd9c
Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.
7 years ago
Fernando Sahmkow
4841440382
Implement TXQ_B
7 years ago
Fernando Sahmkow
ac3ba9a33e
Corrections to TEX_B
7 years ago
Fernando Sahmkow
7af82ca022
Implement Bindless Handling on SetupTexture
7 years ago
Fernando Sahmkow
e28fd3d0a5
Implement Bindless Samplers and TEX_B in the IR.
7 years ago
ReinUsesLisp
ddcb711ee8
maxwell_3d: Reduce severity of ProcessSyncPoint
7 years ago
Fernando Sahmkow
fc91e21206
Implement SyncPoint Register in the GPU.
7 years ago
Lioncash
22f02076c6
video_core/engines: Make memory manager members private
These aren't used externally by anything, so they can be made private
data members.
7 years ago
Lioncash
26223f8124
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
7 years ago
ReinUsesLisp
04979560fb
shader_ir/memory: Reduce severity of LD_L cache management and log it
7 years ago
ReinUsesLisp
24abeb9a67
shader_ir/memory: Reduce severity of ST_L cache management and log it
7 years ago
bunnei
19330f45d3
maxwell_dma: Check for valid source in destination before copy.
- Avoid a crash in Octopath Traveler.
7 years ago
bunnei
22d3dfbcd4
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
574e89d924
video_core: Refactor to use MemoryManager interface for all memory access.
# Conflicts:
# src/video_core/engines/kepler_memory.cpp
# src/video_core/engines/maxwell_3d.cpp
# src/video_core/morton.cpp
# src/video_core/morton.h
# src/video_core/renderer_opengl/gl_global_cache.cpp
# src/video_core/renderer_opengl/gl_global_cache.h
# src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
7 years ago
bunnei
2eaf6c41a4
gpu: Use host address for caching instead of guest address.
7 years ago
bunnei
7b574f406b
gpu: Move command processing to another thread.
7 years ago
Lioncash
f9ee0dc7ee
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.
7 years ago
Lioncash
b9238edd0d
common/math_util: Move contents into the Common namespace
These types are within the common library, so they should be within the
Common namespace.
7 years ago