ReinUsesLisp
ab65fde9f4
video_core: Add asserts for CS, TFB and alpha testing
Add asserts for compute shader dispatching, transform feedback being
enabled and alpha testing. These have in common that they'll probably break
rendering without logging.
7 years ago
David
9f3fc067bf
Added glObjectLabels for renderdoc for textures and shader programs ( #1384 )
* Added glObjectLabels for renderdoc for textures and shader programs
* Changed hardcoded "Texture" name to reflect the texture type instead
* Removed string initialize
7 years ago
greggameplayer
b91e2d55f3
correct BC6H
7 years ago
Lioncash
90746c33c7
gl_state: Remove unused type alias
This isn't used anywhere within the header, so we can remove it, along
with the include that was previously necessary. This also uncovers an
indirect include in the cpp file for the assertion macros.
7 years ago
Lioncash
a8f5fd787f
shader_bytecode: Lay out the Ipa-related enums better
This is more consistent with the surrounding enums.
7 years ago
Lioncash
272517cf7e
shader_bytecode: Make operator== and operator!= of IpaMode const qualified
These don't affect the state of the struct and can be const member
functions.
7 years ago
FernandoS27
57b44200a2
Reverse stride align restriction on FastSwizzle due to lost performance
7 years ago
FernandoS27
d2dd1289bd
Join both Swizzle methods within one interface function
7 years ago
FernandoS27
41c6c4593a
Standarized Legacy Swizzle to look alike FastSwizzle and use a Swizzling Table instead
7 years ago
FernandoS27
f020319a45
Remove same output bpp restriction on FastSwizzle
7 years ago
FernandoS27
68aaa83836
Improved Legacy Swizzler to be better documented and work better
7 years ago
Lioncash
ba02dd9ebc
gl_stream_buffer: Fix use of bitwise OR instead of logical OR in Map()
This was very likely intended to be a logical OR based off the
conditioning and testing of inversion in one case.
Even if this was intentional, this is the kind of non-obvious thing one
should be clarifying with a comment.
7 years ago
Subv
9cd5c61fcf
RasterizerGL: Use the correct framebuffer when clearing via the CLEAR_BUFFERS register.
Previously we were clearing the default backbuffer framebuffer.
Found thanks to a Piglit test :)
7 years ago
FernandoS27
bf2f2a715f
Improved fast swizzle and removed restrictions to it
7 years ago
Markus Wick
f465e4aaf2
gl_rasterizer: Fix StartAddress handling with indexed draw calls.
We uploaded the wrong data before. So the offset on the host GPU pointer may work for the first vertices, the last ones run out bounds.
Let's just offset the upload instead.
7 years ago
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