ReinUsesLisp
73d2d3342d
gl_query_cache: Optimize query cache
Use a custom cache instead of relying on a ranged cache.
6 years ago
ReinUsesLisp
aae8c180cb
gl_query_cache: Implement host queries using a deferred cache
Instead of waiting immediately for executed commands, defer the query
until the guest CPU reads it. This way we get closer to what the guest
program is doing.
To archive this we have to build a dependency queue, because host APIs
(like OpenGL and Vulkan) use ranged queries instead of counters like
NVN.
Waiting for queries implicitly uses fences and this requires a command
being queued, otherwise the driver will lock waiting until a timeout. To
fix this when there are no commands queued, we explicitly call glFlush.
6 years ago
ReinUsesLisp
2b58652f08
maxwell_3d: Slow implementation of passed samples (query 21)
Implements GL_SAMPLES_PASSED by waiting immediately for queries.
7 years ago
Fernando Sahmkow
64496f2456
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
b97608ca64
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
c921e496eb
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago
Fernando Sahmkow
68f5aff64f
Maxwell3D: Corrections and refactors to MME instance refactor
6 years ago
Fernando Sahmkow
7761e44d18
Rasterizer: Refactor and simplify DrawBatch Interface.
6 years ago
Fernando Sahmkow
c17655ce74
Rasterizer: Refactor draw calls, remove deadcode and clean up.
6 years ago
Fernando Sahmkow
ba02d564f8
Video Core: initial Implementation of InstanceDraw Packaging
6 years ago
Rodrigo Locatti
4d4f9cc104
video_core: Silent miscellaneous warnings ( #2820 )
* texture_cache/surface_params: Remove unused local variable
* rasterizer_interface: Add missing documentation commentary
* maxwell_dma: Remove unused rasterizer reference
* video_core/gpu: Sort member declaration order to silent -Wreorder warning
* fermi_2d: Remove unused MemoryManager reference
* video_core: Silent unused variable warnings
* buffer_cache: Silent -Wreorder warnings
* kepler_memory: Remove unused MemoryManager reference
* gl_texture_cache: Add missing override
* buffer_cache: Add missing include
* shader/decode: Remove unused variables
6 years ago
Fernando Sahmkow
e52c895559
GPU: Flush commands on every dma pusher step.
This commit ensures that the host gpu is constantly fed with commands to
work with, while the guest gpu keeps producing the rest of the commands.
This reduces syncing time between host and guest gpu.
7 years ago
ReinUsesLisp
725ba6cf63
gl_rasterizer: Implement compute shaders
7 years ago
ReinUsesLisp
1fa21fa192
gl_buffer_cache: Implement with generic buffer cache
7 years ago
Fernando Sahmkow
58c8a44e7a
texture_cache: Query MemoryManager from the system
7 years ago
Fernando Sahmkow
175aa343ff
texture_cache: Fermi2D reform and implement View Mirage
This also does some fixes on compressed textures reinterpret and on the
Fermi2D engine in general.
7 years ago
Fernando Sahmkow
d86f9cd709
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
6b0695b3cd
Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr
7 years ago
bunnei
22d3dfbcd4
gpu: Rewrite virtual memory manager using PageTable.
7 years ago
bunnei
2eaf6c41a4
gpu: Use host address for caching instead of guest address.
7 years ago
Lioncash
b9238edd0d
common/math_util: Move contents into the Common namespace
These types are within the common library, so they should be within the
Common namespace.
7 years ago
bunnei
dd1aab5446
gl_rasterizer: Implement a more accurate fermi 2D copy.
- This is a blit, use the blit registers.
7 years ago
ReinUsesLisp
eb73247433
gl_shader_cache: Link loading screen with disk shader cache load
7 years ago
ReinUsesLisp
0ed5d728ca
rasterizer_interface: Add disk cache entry for the rasterizer
7 years ago
ReinUsesLisp
26f8a700a7
rasterizer_interface: Remove unused AccelerateFill operation
7 years ago
James Rowe
ea73ffe202
Rename step 1 and step 2 to be a little more descriptive
7 years ago
James Rowe
e8bd6b1fcc
QT: Upgrade the Loading Bar to look much better
7 years ago
bunnei
011cf77796
gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies.
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
d647d9550c
gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.
7 years ago
bunnei
16d65182f9
gl_rasterizer: Fix issues with the rasterizer cache.
- Use a single cached page map.
- Fix calculation of ending page.
7 years ago
Lioncash
46ef072cf9
rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature
This is an OpenGL renderer-specific data type. Given that, this type
shouldn't be used within the base interface for the rasterizer. Instead,
we can pass this information to the rasterizer via reference.
7 years ago
Subv
be51120d23
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
8 years ago
bunnei
3f9f047375
gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers.
8 years ago
bunnei
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
8 years ago
bunnei
174cba5c58
renderer_opengl: Implement BlendEquation and BlendFunc.
8 years ago
N00byKing
d1d7582a5b
rasterizer_interface.h: Update from citra to yuzu
8 years ago
bunnei
d89bfec5f5
rasterizer: Rename DrawTriangles to DrawArrays.
8 years ago
bunnei
11047d7fd5
rasterizer: Flush and invalidate regions should be 64-bit.
8 years ago
bunnei
8a250de987
video_core: Remove usage of PAddr and replace with VAddr.
8 years ago
bunnei
bfe45774f1
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
8 years ago
bunnei
6e3222363c
renderer_gl: Port boilerplate rasterizer code over from Citra.
8 years ago
James Rowe
1d28b2e142
Remove references to PICA and rasterizers in video_core
8 years ago
bunnei
93480b10ef
core/video_core: Fix a bunch of u64 -> u32 warnings.
8 years ago
wwylele
d2419570b9
rasterizer: separate TextureCopy from DisplayTransfer
9 years ago
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
9 years ago
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
9 years ago
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
9 years ago
tfarley
22f3a7e94c
HWRasterizer: Texture forwarding
10 years ago
Yuri Kunde Schlesner
195fedccf0
VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
10 years ago