ReinUsesLisp
f5b5c5ba06
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
e0c63533ab
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
5d3bc9c9b0
correct BC6H
7 years ago
Lioncash
c22d6203a9
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
02106208f8
shader_bytecode: Lay out the Ipa-related enums better
This is more consistent with the surrounding enums.
7 years ago
Lioncash
d8cbbfb8ea
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
9acd217fed
Reverse stride align restriction on FastSwizzle due to lost performance
7 years ago
FernandoS27
ec51077131
Join both Swizzle methods within one interface function
7 years ago
FernandoS27
dc98e08d51
Standarized Legacy Swizzle to look alike FastSwizzle and use a Swizzling Table instead
7 years ago
FernandoS27
55543db875
Remove same output bpp restriction on FastSwizzle
7 years ago
FernandoS27
0bd735d574
Improved Legacy Swizzler to be better documented and work better
7 years ago
Lioncash
770efb87b8
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
c865df9ca7
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
cd00f35cc8
Improved fast swizzle and removed restrictions to it
7 years ago
Markus Wick
da98f8c157
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
b7be8be9ee
Implemented Internal Flags
7 years ago
Lioncash
8a6bc44751
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
5a00f0ec41
Implemented I2I.CC on the NEU control code, used by SMO
7 years ago
FernandoS27
81fd967a27
Implemented CSETP
7 years ago
FernandoS27
9cdcf964b5
Implemented Control Codes
7 years ago
FernandoS27
90ffde0a90
Added asserts for texture misc modes to texture instructions
7 years ago
FernandoS27
dc2a597dc8
Added texture misc modes to texture instructions
7 years ago
raven02
da0fb4d371
Add 1D sampler for TLDS - TexelFetch (Mario Rabbids)
7 years ago
raven02
13c243fcb6
Implement ASTC_2D_8X8 (Bayonetta 2)
7 years ago
raven02
8cf6772150
Implement RenderTargetFormat::BGR5A1_UNORM (Pokken Tournament DX)
7 years ago
Subv
415fd53a49
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
1190ea6ddb
Port #4182 from Citra: "Prefix all size_t with std::"
7 years ago
FernandoS27
37224010a1
Optimized Texture Swizzling
7 years ago
Lioncash
35c05e8bf2
gl_shader_decompiler: Get rid of variable shadowing within LEA instructions
These variables are already defined within an outer scope.
7 years ago
ReinUsesLisp
a5584cd896
Use ARB_multi_bind for uniform buffers ( #1287 )
* gl_rasterizer: use ARB_multi_bind for uniform buffers
* address feedback
7 years ago
bunnei
98d5dc07f0
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
46b33657b6
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
aa5c2354eb
Implemented Texture Processing Modes
7 years ago
bunnei
673650e636
gl_rasterizer_cache: Always blit on recreate, regardless of format.
- Fixes several rendering issues with Super Mario Odyssey.
7 years ago
bunnei
2731b478af
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
bdcf568acf
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
324c65fc60
Implemented LEA and PSET
7 years ago
FernandoS27
a6294ad653
Implemented encodings for LEA and PSET
7 years ago
FernandoS27
4877b9a03d
Replace old FragmentHeader for the new Header
7 years ago
FernandoS27
120a7f2706
Implemented (Partialy) Shader Header
7 years ago
David Marcec
4258678ebe
Fixed renderdoc input/output textures not working due to render targets
7 years ago
Markus Wick
118c1c36c1
video_core: Refactor command_processor.
Inline the WriteReg helper as it is called ~20k times per frame.
7 years ago
Markus Wick
a5613f87ef
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
f84b102dfb
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
101abc3586
gl_rasterizer_cache: Only use depth for applicable texture formats.
- Fixes an issue with Octopath Traveler leaving stale data here.
7 years ago
bunnei
1a13349404
gl_rasterizer: Implement clear for non-zero render targets.
- Several misc. changes to ConfigureFramebuffers in support of this.
7 years ago
bunnei
33a936e055
gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.
- Used by Octopath Traveler (with multiple render targets).
7 years ago
bunnei
05d93558f4
gl_rasterizer: Implement multiple color attachments.
7 years ago
FernandoS27
e54854dfb7
Implemented TMML
7 years ago
FernandoS27
6dd5b33570
Implemented TXQ dimension query type, used by SMO.
7 years ago