FernandoS27
567a5524b9
Implemented Internal Flags
7 years ago
Lioncash
9a8dbba1e5
gl_shader_decompiler: Avoid truncation warnings within LD_A and ST_A code
These are internally stored as u64 values, so using u32 here causes
truncation warnings. Instead, we can just use u64 and preserve the bit
width.
7 years ago
FernandoS27
e4bb759c4b
Implemented I2I.CC on the NEU control code, used by SMO
7 years ago
FernandoS27
e2ac8fb36d
Implemented CSETP
7 years ago
FernandoS27
aac77bbd18
Implemented Control Codes
7 years ago
FernandoS27
31e52113b3
Added asserts for texture misc modes to texture instructions
7 years ago
FernandoS27
55a4756766
Added texture misc modes to texture instructions
7 years ago
raven02
2845348608
Implement ASTC_2D_8X8 (Bayonetta 2)
7 years ago
raven02
0019a36b41
Implement RenderTargetFormat::BGR5A1_UNORM (Pokken Tournament DX)
7 years ago
Subv
c878a819d7
Shaders: Implemented multiple-word loads and stores to and from attribute memory.
This seems to be an optimization performed by nouveau.
7 years ago
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
FernandoS27
f8e994354f
Optimized Texture Swizzling
7 years ago
Lioncash
ae128f0375
gl_shader_decompiler: Get rid of variable shadowing within LEA instructions
These variables are already defined within an outer scope.
7 years ago
ReinUsesLisp
a42376dfad
Use ARB_multi_bind for uniform buffers ( #1287 )
* gl_rasterizer: use ARB_multi_bind for uniform buffers
* address feedback
7 years ago
bunnei
4a43fb7e1d
gl_rasterizer_cache: B5G6R5U should use GL_RGB8 as an internal format.
- Fixes a regression with Sonic Mania with ARB_texture_storage.
7 years ago
Subv
bb5eb4f20a
GPU: Basic implementation of the Kepler Inline Memory engine (p2mf).
This engine writes data from a FIFO register into the configured address.
7 years ago
FernandoS27
a99d9db32f
Implemented Texture Processing Modes
7 years ago
bunnei
7bb226f22d
gl_rasterizer_cache: Always blit on recreate, regardless of format.
- Fixes several rendering issues with Super Mario Odyssey.
7 years ago
bunnei
cdddd71d08
gl_shader_cache: Remove cache_width/cache_height.
- This was once an optimization, but we no longer need it with the cache reserve.
- This is also inaccurate.
7 years ago
Markus Wick
3e973bc4c6
gl_rasterizer: Use ARB_texture_storage.
It allows us to use texture views and it reduces the overhead within the GPU driver.
But it disallows us to reallocate the texture, but we don't do so anyways.
In the end, it is the new way to allocate textures, so there is no need to use the old way.
7 years ago
FernandoS27
5c676dc884
Implemented LEA and PSET
7 years ago
FernandoS27
3f0922715a
Implemented encodings for LEA and PSET
7 years ago
FernandoS27
2b48cfd44b
Replace old FragmentHeader for the new Header
7 years ago
FernandoS27
e926757c8f
Implemented (Partialy) Shader Header
7 years ago
David Marcec
4c3bd33be2
Fixed renderdoc input/output textures not working due to render targets
7 years ago
Markus Wick
c1b8cd9058
video_core: Refactor command_processor.
Inline the WriteReg helper as it is called ~20k times per frame.
7 years ago
Markus Wick
0cfb0bacb2
video_core: Move command buffer loop.
This moves the hot loop into video_core. This refactoring shall reduce the CPU overhead of calling ProcessCommandList.
7 years ago
Markus Wick
c560043581
rasterizer: Drop unused handler.
This virtual function is called in a very hot spot, and it does nothing.
If this kind of feature is required, please be more specific and add callbacks
in the switch statement within Maxwell3D::WriteReg. There is no point in having
another switch statement within the rasterizer.
7 years ago
bunnei
4c0b1cc1ae
gl_rasterizer_cache: Only use depth for applicable texture formats.
- Fixes an issue with Octopath Traveler leaving stale data here.
7 years ago
bunnei
035e6bd407
gl_rasterizer: Implement clear for non-zero render targets.
- Several misc. changes to ConfigureFramebuffers in support of this.
7 years ago
bunnei
1c34498368
gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.
- Used by Octopath Traveler (with multiple render targets).
7 years ago
bunnei
49b15af054
gl_rasterizer: Implement multiple color attachments.
7 years ago
FernandoS27
00131e752d
Implemented TMML
7 years ago
FernandoS27
073a21ac0b
Implemented TXQ dimension query type, used by SMO.
7 years ago
Patrick Elsässer
64e45b04e0
video_core: fixed arithmetic overflow warnings & improved code style
- Fixed all warnings, for renderer_opengl items, which were indicating a
possible incorrect behavior from integral promotion rules and types
larger than those in which arithmetic is typically performed.
- Added const for variables where possible and meaningful.
- Added constexpr where possible.
7 years ago
tech4me
3dcedb36b4
Port Citra #4047 & #4052 : add change background color support
7 years ago
FernandoS27
82a313a14c
Change name of TEXQ to TXQ, in order to match NVIDIA's naming
7 years ago
Subv
fdb199290b
GPU/DMA: Partially implemented the 'enable_2d' bit in the DMA engine.
When not set, this tells the GPU to only use the X size when performing a DMA copy.
This is only implemented for linear->linear and tiled->tiled copies. Conversion copies still retain the assert.
This bit is unset by some games for various purposes, and by nouveau when copying the vertex buffers.
7 years ago
bunnei
8b08cb925b
gl_rasterizer: Use baseInstance instead of moving the buffer points.
This hopefully helps our cache not to redundant upload the vertex buffer.
# Conflicts:
# src/video_core/renderer_opengl/gl_rasterizer.cpp
7 years ago
Patrick Elsässer
a8974f0556
video_core: Arithmetic overflow warning fix for gl_rasterizer ( #1262 )
* video_core: Arithmetic overflow fix for gl_rasterizer
- Fixed warnings, which were indicating incorrect behavior from integral
promotion rules and types larger than those in which arithmetic is
typically performed.
- Added const for variables where possible and meaningful.
* Changed the casts from C to C++ style
Changed the C-style casts to C++ casts as proposed.
Took also care about signed / unsigned behaviour.
7 years ago
bunnei
23ae7cf9db
gl_rasterizer_cache: Improve accuracy of RecreateSurface for non-2D textures.
7 years ago
bunnei
fdd5c97a14
maxwell_3d: Remove assert that no longer applies.
7 years ago
bunnei
f165a85398
gl_rasterizer_cache: Partially implement several non-2D texture types.
7 years ago
bunnei
0731383124
gl_shader_decompiler: Partially implement several non-2D texture types (Subv).
7 years ago
bunnei
05f6f59ffb
gl_rasterizer: Implement texture wrap mode p.
7 years ago
bunnei
ce8291f6c5
gl_rasterizer_cache: Track texture depth.
7 years ago
bunnei
9dccf7e1fa
gl_rasterizer_cache: Remove impl. of FlushGLBuffer.
- Will not work for non-2d textures, and was not used anyways.
7 years ago
bunnei
030676b95d
gl_rasterizer_cache: Keep track of texture type per surface.
7 years ago
bunnei
a439f7b6e1
gl_rasterizer_cache: Remove unused DownloadGLTexture.
7 years ago
bunnei
b56e5edafc
gl_state: Keep track of texture target.
7 years ago