Fernando Sahmkow
ab7fd4a084
texture_cache: Implement guest flushing
7 years ago
Fernando Sahmkow
b84179af46
Fixes to mipmap's process and reconstruct process
7 years ago
ReinUsesLisp
f43bf87e8a
surface_base: Add parenthesis to EmplaceOverview's predicate
7 years ago
Fernando Sahmkow
6b7e019bc6
Texture Cache: Implement Blitting and Fermi Copies
7 years ago
ReinUsesLisp
90066da53f
surface_view: Add constructor for ViewParams
7 years ago
ReinUsesLisp
265eb2d076
surface_base: Split BreakDown into layered and non-layered variants
7 years ago
ReinUsesLisp
cd1a36021d
surface_base: Silence truncation warnings and minor renames and reordering
7 years ago
ReinUsesLisp
2f3aa02618
copy_params: Use constructor instead of C-like initialization
7 years ago
Fernando Sahmkow
40325b2fd5
Correct Mipmaps View method in Texture Cache
7 years ago
Fernando Sahmkow
27e8636b3e
Change texture_cache chaching from GPUAddr to CacheAddr
This also reverses the changes to make invalidation and flushing through
the GPU address.
7 years ago
Fernando Sahmkow
6d36712424
Corrections to Structural Matching
The texture will now be reconstructed if the width only matches on GoB
alignment.
7 years ago
Fernando Sahmkow
7b8ddfb612
Implement Texture Cache V2
7 years ago
Fernando Sahmkow
b906c2d3ec
Correct Surface Base and Views for new Texture Cache
7 years ago
Fernando Sahmkow
e341b78038
Add OGLTextureView
7 years ago
Fernando Sahmkow
e8ac8ab2f5
Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr
7 years ago
ReinUsesLisp
05f039e9fb
texture_cache: Remove execution context copies from the texture cache
This is done to simplify the OpenGL implementation, it is needed for
Vulkan.
7 years ago
ReinUsesLisp
dfe6cbac91
gl_texture_cache: Implement fermi copies
7 years ago
ReinUsesLisp
57cfa6b47a
texture_cache: Split texture cache into different files
7 years ago
ReinUsesLisp
4b3338b9d9
texture_cache: Move staging buffer into a generic implementation
7 years ago
ReinUsesLisp
b7df49efba
texture_cache: Flush 3D textures in the order they are drawn
7 years ago
ReinUsesLisp
1b91e86f65
gl_texture_cache: Minor changes
7 years ago
ReinUsesLisp
b91d2263d4
gl_texture_cache: Add copy from multiple overlaps into a single surface
7 years ago
ReinUsesLisp
4543864bae
gl_texture_cache: Attach surface textures instead of views
7 years ago
ReinUsesLisp
f46a979f19
gl_texture_cache: Add fast copy path
7 years ago
ReinUsesLisp
3b430b5605
gl_texture_cache: Initial implementation
7 years ago
Lioncash
0b24f6f253
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.
7 years ago
ReinUsesLisp
68a0cc0fa5
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.
7 years ago
Fernando Sahmkow
ab3bb046a8
GPUVM: Correct GPU VM virtual address space
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
d9a8e33b5b
gl_shader_cache: Use static constructors for CachedShader initialization
7 years ago
ReinUsesLisp
e6d3f9c589
gl_rasterizer: Remove unused parameters in descriptor uploads
7 years ago
ReinUsesLisp
1073b32300
video_core/engines: Move ConstBufferInfo out of Maxwell3D
7 years ago
ReinUsesLisp
e8bd976b4d
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;
7 years ago
ReinUsesLisp
419d5bf5db
shader/node: Minor changes
Reflect std::shared_ptr nature of Node on initializers and remove
constant members in nodes.
Add some commentaries.
7 years ago
ReinUsesLisp
056ff86fc9
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
7 years ago
ReinUsesLisp
fd392543e8
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.
7 years ago
Lioncash
97882b84a8
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.
7 years ago
Fernando Sahmkow
a8250f511b
shader_bytecode: Mark EXIT as flow instruction
7 years ago
ReinUsesLisp
ebbc9d3ee1
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.
7 years ago
ReinUsesLisp
ca5758de77
gl_shader_cache: Store a system class and drop global accessors
7 years ago
ReinUsesLisp
07e1a695c8
gl_shader_cache: Add commentaries explaining the intention in shaders creation
7 years ago
ReinUsesLisp
165b4307ea
gl_shader_cache: Flip if condition in GetStageProgram to reduce indentation
7 years ago
ReinUsesLisp
1423e5d59d
gl_buffer_cache: Remove unused ReserveMemory method
7 years ago
ReinUsesLisp
3466bf45e8
maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap mode
7 years ago
ReinUsesLisp
af55acef7b
gl_rasterizer: Move alpha testing to the OpenGL pipeline
Removes the alpha testing code from each fragment shader invocation.
7 years ago
ReinUsesLisp
8bd24371a3
gl_rasterizer: Use GL_QUADS to emulate quads rendering
7 years ago
ReinUsesLisp
ae6e56271f
gl_device: Add commentary to AOFFI unit test source code
The intention behind this commit is to hint someone inspecting an
apitrace dump to ignore this ill-formed GLSL code.
7 years ago
ReinUsesLisp
469bcc66b1
gl_shader_gen: Always declare extensions after the version declaration
This addresses a bug on geometry shaders where code was being written
before all #extension declarations were done. Ref to #2523
7 years ago
ReinUsesLisp
f4bbb7fe44
vk_device: Let formats array type be deduced
7 years ago