ReinUsesLisp
48d485d6df
shader/texture: Add F16 support for TLDS
7 years ago
ReinUsesLisp
e6d37e10db
gl_rasterizer: Minor style changes
7 years ago
Fernando Sahmkow
779c115dbb
video_core: Implement GPU side Syncpoints
7 years ago
ReinUsesLisp
7eed876cfb
shader_bytecode: Include missing <array>
7 years ago
Fernando Sahmkow
7afd5d2367
surface: Correct format S8Z24
7 years ago
Fernando Sahmkow
18322c1369
decoders: correct block calculation
7 years ago
Fernando Sahmkow
c15d41e8cd
fermi2d: Correct Origin Mode
7 years ago
Fernando Sahmkow
bc8f3d4964
texture_cache: Fermi2D reform and implement View Mirage
This also does some fixes on compressed textures reinterpret and on the
Fermi2D engine in general.
7 years ago
ReinUsesLisp
224e4e174d
shader: Decode SUST and implement backing image functionality
7 years ago
ReinUsesLisp
91b16d383a
maxwell_3d: Partially implement texture buffers as 1D textures
7 years ago
ReinUsesLisp
27cd63a05a
shader: Implement texture buffers
7 years ago
Fernando Sahmkow
f42ada6945
texture_cache: loose TryReconstructSurface when accurate GPU is not on.
Also corrects some asserts.
7 years ago
Fernando Sahmkow
7884bf60a6
engine_upload: Addapt to new Texture Cache
7 years ago
ReinUsesLisp
1d10810d2b
video_core: Use un-shifted block sizes to avoid integer divisions
Instead of storing all block width, height and depths in their shifted
form:
block_width = 1U << block_shift;
Store them like they are provided by the emulated hardware (their
block_shift form). This way we can avoid doing the costly
Common::AlignUp operation to align texture sizes and drop CPU integer
divisions with bitwise logic (defined in Common::AlignBits).
7 years ago
ReinUsesLisp
51d624bf2c
kepler_compute: Use std::array for cbuf info
7 years ago
ReinUsesLisp
667ecbda37
kepler_compute: Fix block_dim_x encoding
7 years ago
ReinUsesLisp
1073b32300
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
Fernando Sahmkow
a8250f511b
shader_bytecode: Mark EXIT as flow instruction
7 years ago
ReinUsesLisp
68af52d525
shader/memory: Implement ST (generic memory)
7 years ago
ReinUsesLisp
71ded7da4e
shader/memory: Implement LD (generic memory)
7 years ago
Fernando Sahmkow
d7fbe5838c
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
c02a05d199
video_core/engines/engine_upload: Amend constructor initializer list order
Silences a -Wreorder warning.
7 years ago
Lioncash
0c9db2ddf0
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
f06049438a
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
d3f74a0c6f
video_core/engines/engine_upload: Remove unnecessary includes
7 years ago
Lioncash
a394c8b35a
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
e9064216a2
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
b66f9188cb
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
5bf7324068
shader_ir/other: Implement IPA.IDX
7 years ago
ReinUsesLisp
f96020b2ae
shader_ir/memory: Implement physical input attributes
7 years ago
ReinUsesLisp
ac78410d39
gl_shader_decompiler: Declare all possible varyings on physical attribute usage
7 years ago
ReinUsesLisp
9a9902214e
shader_bytecode: Add AL2P decoding
7 years ago
Fernando Sahmkow
08f861a820
Refactors and name corrections.
7 years ago
Fernando Sahmkow
3d37c4161a
Fixes and Corrections to DMA Engine
7 years ago
Fernando Sahmkow
122b06d102
Add Swizzle Parameters to the DMA engine
7 years ago
Fernando Sahmkow
bcf4b19fca
Add Documentation Headers to all the GPU Engines
7 years ago
Fernando Sahmkow
5c4de1e3fb
Corrections and styling
7 years ago
Fernando Sahmkow
4a2763a121
Implement Maxwell3D Data Upload
7 years ago
Fernando Sahmkow
e42bf4f314
Introduce skeleton of the GPU Compute Engine.
7 years ago
Fernando Sahmkow
86e8a9f978
Revamp Kepler Memory to use a subegine to manage uploads
7 years ago
ReinUsesLisp
7a56d07632
video_core: Silent -Wswitch warnings
7 years ago
Fernando Sahmkow
b33c627670
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
525211db3b
Use WriteBlock and ReadBlock.
7 years ago
Fernando Sahmkow
15368c6070
Implement Block Linear copies in Kepler Memory.
7 years ago
Fernando Sahmkow
73f925a949
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
02c84726ed
Correct Kepler Memory on Linear Pushes.
7 years ago
ReinUsesLisp
79e7fb6d6f
shader_ir: Implement STG, keep track of global memory usage and flush
7 years ago
Fernando Sahmkow
25e6fb72eb
Correct LOP_IMN encoding
7 years ago
Fernando Sahmkow
34b15b69df
Correct XMAD mode, psl and high_b on different encodings.
7 years ago
Fernando Sahmkow
f5792ffeab
Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format.
7 years ago