de0b1cb2b2
Fixes to mipmap's process and reconstruct process
2019-06-20 21:36:12 -03:00
e0002599ac
surface_base: Add parenthesis to EmplaceOverview's predicate
2019-06-20 21:36:12 -03:00
324e470879
Texture Cache: Implement Blitting and Fermi Copies
2019-06-20 21:36:12 -03:00
549fd18ac4
surface_view: Add constructor for ViewParams
2019-06-20 21:36:12 -03:00
16e8625a30
surface_base: Split BreakDown into layered and non-layered variants
2019-06-20 21:36:12 -03:00
2b30000a1e
surface_base: Silence truncation warnings and minor renames and reordering
2019-06-20 21:36:12 -03:00
03d10ea3b4
copy_params: Use constructor instead of C-like initialization
2019-06-20 21:36:12 -03:00
1af4414861
Correct Mipmaps View method in Texture Cache
2019-06-20 21:36:12 -03:00
d86f9cd709
Change texture_cache chaching from GPUAddr to CacheAddr
...
This also reverses the changes to make invalidation and flushing through
the GPU address.
2019-06-20 21:36:12 -03:00
b711cdce78
Corrections to Structural Matching
...
The texture will now be reconstructed if the width only matches on GoB
alignment.
2019-06-20 21:36:12 -03:00
bc930754cc
Implement Texture Cache V2
2019-06-20 21:36:12 -03:00
3d471e732d
Correct Surface Base and Views for new Texture Cache
2019-06-20 21:36:12 -03:00
3b26206dbd
Add OGLTextureView
2019-06-20 21:36:12 -03:00
6b0695b3cd
Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr
2019-06-20 21:36:11 -03:00
6c410104f4
texture_cache: Remove execution context copies from the texture cache
...
This is done to simplify the OpenGL implementation, it is needed for
Vulkan.
2019-06-20 21:36:11 -03:00
fa59a7b4d8
gl_texture_cache: Implement fermi copies
2019-06-20 21:36:11 -03:00
1b4503c571
texture_cache: Split texture cache into different files
2019-06-20 21:36:11 -03:00
5f3aacdc37
texture_cache: Move staging buffer into a generic implementation
2019-06-20 21:36:11 -03:00
2787a0c287
texture_cache: Flush 3D textures in the order they are drawn
2019-06-20 21:36:11 -03:00
4b396f375c
gl_texture_cache: Minor changes
2019-06-20 21:36:11 -03:00
0cefb7bcb4
gl_texture_cache: Add copy from multiple overlaps into a single surface
2019-06-20 21:36:11 -03:00
84139586c9
gl_texture_cache: Attach surface textures instead of views
2019-06-20 21:36:11 -03:00
fb94871791
gl_texture_cache: Add fast copy path
2019-06-20 21:36:11 -03:00
bab21e8cb3
gl_texture_cache: Initial implementation
2019-06-20 21:36:11 -03:00
c28694d907
Merge pull request #2591 from lioncash/record
...
core: Remove unused CiTrace source files
2019-06-19 22:28:26 -04:00
61d2498f00
core: Remove unused CiTrace source files
...
These source files have been unused for the entire lifecycle of the
project. They're a hold-over from Citra and only add to the build time
of the project, so they can be removed.
There's also likely no way this would ever work in yuzu in its current
form without revamping quite a bit of it, given how different the GPU on
the Switch is compared to the 3DS.
2019-06-18 16:57:59 -04:00
c7b5c245e1
Merge pull request #2562 from ReinUsesLisp/split-cbuf-upload
...
video_core/engines: Move ConstBufferInfo out of Maxwell3D
2019-06-17 22:35:04 -04:00
c0e7b91145
Merge pull request #2538 from ReinUsesLisp/ssy-pbk
...
shader: Split SSY and PBK stack
2019-06-15 20:30:13 -04:00
ee81fb94cd
gl_device: Fix TestVariableAoffi test
...
This test is intended to be invalid GLSL, but it was being invalid in
two points instead of one. The intention is to use a non-immediate
parameter in a textureOffset like function.
The problem is that this shader was being compiled as a separable
shader object and the text was writting to gl_Position without a
redeclaration, being invalid GLSL.
Address that issue by using a user-defined output attribute.
2019-06-11 23:02:50 -03:00
f981efdf8d
Merge pull request #2572 from FernandoS27/gpu-mem
...
GPUVM: Correct GPU VM virtual address space
2019-06-11 21:09:57 -04:00
f79823fda7
GPUVM: Correct GPU VM virtual address space
2019-06-09 17:47:15 -04:00
528c15051c
kepler_compute: Use std::array for cbuf info
2019-06-07 20:36:22 -03:00
17d5fb6d06
kepler_compute: Fix block_dim_x encoding
2019-06-07 20:35:46 -03:00
4ec8a3df08
gl_shader_cache: Use static constructors for CachedShader initialization
2019-06-07 20:20:22 -03:00
5669ff3cbd
gl_rasterizer: Remove unused parameters in descriptor uploads
2019-06-07 19:52:16 -03:00
2f2a61887a
video_core/engines: Move ConstBufferInfo out of Maxwell3D
2019-06-07 19:47:15 -03:00
de33ad25f5
Merge pull request #2514 from ReinUsesLisp/opengl-compat
...
video_core: Drop OpenGL core in favor of OpenGL compatibility
2019-06-07 17:23:25 -04:00
fe8e6618f2
shader: Split SSY and PBK stack
...
Hardware testing revealed that SSY and PBK push to a different stack,
allowing code like this:
SSY label1;
PBK label2;
SYNC;
label1: PBK;
label2: EXIT;
2019-06-07 02:18:27 -03:00
769a50661a
shader/node: Minor changes
...
Reflect std::shared_ptr nature of Node on initializers and remove
constant members in nodes.
Add some commentaries.
2019-06-06 20:03:33 -03:00
e1b3be7ced
shader: Move Node declarations out of the shader IR header
...
Analysis passes do not have a good reason to depend on shader_ir.h to
work on top of nodes. This splits node-related declarations to their own
file and leaves the IR in shader_ir.h
2019-06-06 20:02:37 -03:00
bf4dfb3ad4
shader: Use shared_ptr to store nodes and move initialization to file
...
Instead of having a vector of unique_ptr stored in a vector and
returning star pointers to this, use shared_ptr. While changing
initialization code, move it to a separate file when possible.
This is a first step to allow code analysis and node generation beyond
the ShaderIR class.
2019-06-05 20:41:52 -03:00
a20ba09bfd
Merge pull request #2520 from ReinUsesLisp/vulkan-refresh
...
vk_device,vk_shader_decompiler: Miscellaneous changes
2019-06-05 18:10:00 -04:00
55c5029171
Merge pull request #2540 from ReinUsesLisp/remove-guest-position
...
gl_shader_decompiler: Remove guest "position" varying
2019-06-05 18:07:23 -04:00
0bcc305797
Merge pull request #2512 from ReinUsesLisp/comp-indexing
...
gl_shader_decompiler: Pessimize uniform buffer access on AMD's prorpietary driver
2019-06-05 18:02:30 -04:00
81e09bb121
Merge pull request #2545 from lioncash/timing
...
core/core_timing_util: Use std::chrono types for specifying time units
2019-06-05 15:52:37 -04:00
dd4fe0dab1
Merge pull request #2534 from ReinUsesLisp/shader-cleanup
...
gl_shader_cache: Minor style changes
2019-06-05 15:28:34 -04:00
42f5fd0ab3
core/core_timing_util: Use std::chrono types for specifying time units
...
Makes the interface more type-safe and consistent in terms of return
values.
2019-06-04 20:31:24 -04:00
a32c52b1d8
shader_bytecode: Mark EXIT as flow instruction
2019-06-04 12:18:35 -04:00
0935c2d97b
gl_shader_decompiler: Remove guest "position" varying
...
"position" was being written but not read anywhere besides geometry
shaders, where it had the same value as gl_Position.
This commit replaces "position" with gl_Position, reducing the
complexity of our code and the emitted GLSL code.
2019-06-03 01:01:34 -03:00
e72b9044a0
gl_shader_cache: Store a system class and drop global accessors
2019-05-30 14:01:40 -03:00